Tin học: BG kiến trúc máy tính
Chia sẻ bởi Trần Việt Thao |
Ngày 29/04/2019 |
89
Chia sẻ tài liệu: Tin học: BG kiến trúc máy tính thuộc Bài giảng khác
Nội dung tài liệu:
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
1
PHẦN 1
KIẾN TRÚC MÁY TÍNH
http://laptrinhmmt.blogspot.com/p/tai-lieu-hoc-tap.html
CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC MÁY TÍNH
1.1. Máy Tính Và Phân Loại Máy Tính.
1.2. Kiến Trúc Máy Tính
1.3. Sự Tiến Hóa Của Máy Tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
3
1.1. Máy Tính Và Phân Loại Máy Tính.
Máy tính được mô tả là một thiết bị điện tử thực hiện các thao tác toán học, logic học và đồ hoạ.
1.1.1. Máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
4
1.1. Máy Tính Và Phân Loại Máy Tính.
a. Siêu máy tính: Là các máy tính đắt tiền nhất và tính năng kỹ thuật cao nhất. Giá bán một siêu máy tính từ vài triệu USD.
1.1.2. Phân loại máy tính
I.B.M.’s Blue Gene
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
5
1.1. Máy Tính Và Phân Loại Máy Tính.
b. Máy tính lớn: là loại máy tính đa dụng. Nó có thể dùng cho các ứng dụng quản lý cũng như các tính toán khoa học.
1.1.2. Phân loại máy tính
System Z10
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
6
1.1. Máy Tính Và Phân Loại Máy Tính.
c. Máy tính mini: là loại máy cở trung, giá một máy tính mini có thể từ vài chục USD đến vài trăm ngàn USD.
1.1.2. Phân loại máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
7
1.1. Máy Tính Và Phân Loại Máy Tính.
d. Máy vi tính: là loại máy tính dùng bộ vi xử lý, giá một máy vi tính có thể từ vài trăm USD đến vài ngàn USD.
1.1.2. Phân loại máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
8
1.2. Kiến Trúc Máy Tính
Kiến trúc máy tính: là thiết kế khái niệm và cấu trúc hoạt động căn bản của một hệ thống máy tính.
Kiến trúc máy tính gồm 3 phạm trù chính:
+ Kiến trúc tập lệnh:là hình ảnh trừu tượng của một hệ thống tính toán được nhìn từ góc độ của một lập trình viên sử dụng ngôn ngữ máy.
+ Vi kiến trúc: còn gọi là tổ chức máy tính là một mô tả bậc thấp, cụ thể hơn về hệ thống.
+ Thiết kế hệ thống: bao gồm tất cả các thành phần phần cứng khác bên trong một hệ thống tính toán.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
9
1.2. Kiến Trúc Máy Tính
Kiến trúc tập lệnh bao gồm:
+ Tập lệnh: Tập hợp các lệnh mà CPU hiểu được và thực thi được, lệnh được biểu diễn dưới dạng mã máy.
+ Các kiểu dữ liệu: các kiểu dữ liệu mà máy tính có thể xử lý.
1.2.1. Kiến trúc tập lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
10
1.2. Kiến Trúc Máy Tính
Tổ chức máy tính:
Cấu trúc
Máy tính điện tử
Hoạt động
Cấu trúc (structure): các thành phần kết nối tạo hệ thống.
Hoạt động (behavior, function): hoạt động của từng thành phần.
1.2.2. Tổ chức của máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
11
1.3. Sự Tiến Hóa Của Máy Tính
1.3.1. Thế hệ 1: Máy tính dùng đèn điện tử
Máy tính ENIAC
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
12
1.3. Sự Tiến Hóa Của Máy Tính
ENIAC (Electronic Numerical Integrator and Computer) là máy tính điện tử số đầu tiên được thiết kế vào năm 1943 và hoàn thành năm 1946.
1.3.1. Thế hệ 1: Máy tính dùng đèn điện tử
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
13
1.3. Sự Tiến Hóa Của Máy Tính
- Công ty Bell đã phát minh ra transistor vào năm 1947.
- Đến cuối thập niên 50, máy tính thương mại dùng transistor xuất hiện trên thị trường.
- Một số ưu điểm của máy tính sử dụng transitor:
+ Kích thước máy tính giảm.
+ Rẻ tiền hơn.
+ Tiêu tốn năng lượng ít hơn.
1.3.2. Thế hệ 2: Máy tính dùng transistor
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
14
1.3. Sự Tiến Hóa Của Máy Tính
- Một số ngôn ngữ cấp cao xuất hiện:
+ FORTRAN năm 1956.
+ COBOL năm 1959.
+ ALGOL năm 1960.
1.3.2. Thế hệ 2: Máy tính dùng transistor
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
15
1.3. Sự Tiến Hóa Của Máy Tính
- 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 hợp - IC: Integrated Circuit).
- Mạch kết độ tích hợp mật độ thấp (SSI: Small Scale Integration) có thể chứa vài chục linh kiện.
- Mạch kết độ tích hợp mật độ trung bình (MSI: Medium Scale Integration) chứa hàng trăm linh kiện trên mạch tích hợp.
1.3.3. Thế hệ 3: Máy tính dùng mạcht tích hợp SSI, MSI, và LSI
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
16
1.3. Sự Tiến Hóa Của Máy Tính
- Mạch kết độ tích hợp mật độ cao (LSI: Medium Scale Integration) có thể chứa hàng ngàn linh kiện.
1.3.3. Thế hệ 3: Máy tính dùng mạcht tích hợp SSI, MSI, và LSI
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
17
1.3. Sự Tiến Hóa Của Máy Tính
- 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ên mạch. Hiện nay, các chip VLSI chứa hàng triệu linh kiện.
- Việc chuyển từ thế hệ thứ tư sang thế hệ thứ 5 còn chưa rõ ràng. 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.3.4. Thế hệ 4: Máy tính dùng mạch tích hợp VLSI
Hết Chương 1
CHƯƠNG 2: HỆ THỐNG MÁY TÍNH
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
2.3. Liên Kết Hệ Thống.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
20
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
21
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
- CPU (Central Processing Unit:đơn vị xử lý trung tâm): có thể được xem như não bộ của máy tính. CPU đảm nhận thực hiện chức năng cơ bản của máy tính là thực thi chương trình.
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
22
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Các thành phần của CPU:
+ Bộ điều khiển (CU-Control Unit): nhiệm vụ thông dịch các lệnh của chương trình 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.
+ Bộ số học-logic (ALU-Arithmetic Logic Unit): 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...).
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
23
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Các thành phần của CPU:
+ Đồng hồ hệ thống: dùng để đồng bộ các thao tác xử lý bên trong và bên ngoài CPU bằng cách phát ra các xung nhịp thời gian.
+ Các thanh ghi (Registes): là các phần tử nhớ tạm thời đặt trong CPU dùng để lưu trữ dữ liệu và địa chỉ.
+ Bộ nhớ đệm (Cache): cất trữ các dữ liệu mới được truy cập, hoặc các lệnh thường xuyên dùng.
+ Kênh truyền dữ liệu ( BUS)
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
24
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong : RAM(Random Access Memory)
- RAM: là một loại bộ nhớ chính của máy tính.
- Mỗi ô nhớ của RAM đều có một địa chỉ, mỗi ô nhớ chứa 1 byte (8 bit).
- RAM thường được sử dụngđể lưu trữ các thông tin thay đổi, và các thông tin được sử dụng hiện hành.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
25
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: RAM
- Tùy theo công nghệ chế tạo, người ta phân biệt thành 2 loại:
+ DRAM (Dynamic RAM): mỗi bit nhớ gồm một transistor và một tụ điện. Bộ nhớ DRAM chậm nhưng rẻ tiền hơn SRAM.
+ SRAM (Static RAM): Mỗi bit nhớ gồm có các cổng logic với 6 transistor MOS
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
26
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: RAM
- Một số thông số của Ram:
+ Dung lượng: được tính bằng MB và GB, Dung lượng của RAM càng lớn càng tốt cho hệ thống.
+ BUS: lưu thông, vận chuyển tín hiệu, dữ liệu.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
27
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: ROM(Read-Only Memory)
- ROM: phần bộ nhớ chỉ đọc của máy tính, dung lượng rất nhỏ và chứa các thông tin về cấu hình BIOS máy.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
28
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: ROM
- Phân loại ROM
+ PROM (Programmable Read-Only Memory): chỉ lập trình được một lần duy nhất bằng phương pháp hàn cứng.
+ EPROM (Erasable PROM): là PROM có thể xoá đi và lập trình lại (yêu cầu một công cụ đặc biệt là tia cực tím).
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
29
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: ROM
- Phân loại ROM:
+ EAROM (Electrically Alterable Read-Only Memory): Loại ROM này có thể thay đổi từng bit một lần.
+ EEPROM (Electrically Erasable PROM): loại bỏ đi nhiều nhược điểm của EPROM, không cần công cụ đặc biệt để xoá.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
30
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ ngoài
- Bộ nhớ ngoài được hiểu là bộ nhớ máy tính gắn bên ngoài thùng máy, có thể dùng để mang đi lại được.
- Một số loại bộ nhớ ngoài:
+ Đĩa từ.
+ Băng từ, đĩa mềm, đĩa quang.
+ Các bộ nhớ flash như thẻ nhớ...
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
31
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
-Dựa trên chức năng và cách thức hoạt động người ta phân biệt phần cứng ra thành:
-Nhập hay đầu vào (Input): Các bộ phận thu nhập dữ liệu hay mệnh lệnh như là bàn phím, chuột...
-Xuất hay đầu ra (Output): Các bộ phận trả lời, phát tín hiệu, hay thực thi lệnh ra bên ngoài như là màn hình, máy in, loa, ...
2.1.3. Hệ thống vào – ra (Input – Output)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
32
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- Hoạt động cơ bản của máy tính là thực hiện chương trình.
- Quá trình thực hiện chương trìnhMá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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
33
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* 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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
34
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* Nhận lệnh:
- 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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
35
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* 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.
- 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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
36
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* Thực hiện lệnh:
- Các kiểu thao tác của lệnh:
+Điều khiển rẽ nhánh
+Kết hợp các thao tác trên.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
37
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiệnmột chương trình khác chương trình này được gọi là chương trình phục vụ ngắt (ISR –Interrupt Service Routine).
- Phân loại ngắt: trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm.
2.2.2. Hoạt động ngắt
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
38
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
+Ngắt mềm: là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy.
+Ngắt cứng: không được khởi động bên trong máy tính mà do cáclinh kiện điện tử tác đông lên hệ thống.
2.2.2. Hoạt động ngắt
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
39
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt.
- Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng.
- Một chương trình có thể gọi chương trình con loại này mà không cầnbiết địa chỉ của nó.
2.2.2. Hoạt động ngắt
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
40
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- 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).
2.2.3. Hoạt động vào - ra
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
41
2.3. Liên Kết Hệ Thống.
- Các mô-đun trong máy tính:
+ CPU
+ Mô-đun nhớ
+ Mô-đun vào-ra
==>cần được kết nối với nhau
2.3.1. Luồng thông tin trong máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
42
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun nhớ
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
43
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun nhớ
- Địa chỉ đưa đến để xác định ngăn nhớ
- Dữ liệu được đưa đến khi ghi
- Dữ liệu hoặc lệnh được đưa ra khi đọc (lưu ý: bộ nhớ không phân biệt lệnh vàdữ liệu)
- Nhận các tín hiệu điều khiển:
+ Điều khiển đọc (Read)
+ Điều khiển ghi (Write)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
44
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun vào ra
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
45
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun vào ra
- Địa chỉ đưa đến để xác định cổng vào-ra
- Ra dữ liệu (Output)
+ Nhận dữ liệu từ CPU hoặc bộ nhớ chính
+ Đưa dữ liệu ra thiết bị ngoại vi
- Vào dữ liệu (Input)
+ Nhận dữ liệu từ thiết bị ngoại vi
+ Đưa dữ liệu vào CPU hoặc bộ nhớ chính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
46
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun vào ra
- Nhận các tín hiệu điều khiển từ CPU
- Phát các tín hiệu điều khiển đến thiết bị ngoại vi
- Phát các tín hiệu ngắt đến CPU
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
47
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối CPU
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
48
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối CPU
- Phát địa chỉ đến các mô-đun nhớ hay các mô-đun vào-ra.
- Đọc lệnh và dữ liệu.
- Đưa dữ liệu ra (sau khi xử lý).
- Phát tín hiệu điều khiển đến các mô-đun nhớ và các mô-đun vào-ra.
- Nhận các tín hiệu ngắt.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
49
2.3. Liên Kết Hệ Thống.
- Bus là một hệ thống các dây cáp nối (khoảng 50 đến 100 sợi cáp riêng biệt) trong đó một nhóm các cáp được định nghĩa chức năng khác nhau.
- Các bus chức năng:
+ Bus địa chỉ.
+ Bus dữ liệu.
+ Bus điều khiển.
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
50
2.3. Liên Kết Hệ Thống.
* Bus địa chỉ
- Hệ thống các đường dây dẫn vận chuyển địa chỉ để xác định ngăn nhớ hay cỗng vào ra.
- Độ rộng bus địa chỉ: cho biết số lượng ngăn nhớ tối đa được đánh địa chỉ.
N bit: AN-1, AN-2, ... A2, A1, A0
có thể đánh địa chỉ tối đa cho 2N ngăn nhớ (không gian địa chỉ bộ nhớ).
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
51
2.3. Liên Kết Hệ Thống.
* Bus dữ liệu
- Hệ thống các đường dây dẫn vận chuyển lệnh từ bộ nhớ đến CPU, hoặc 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: DM-1, DM-2, ... D2, D1, D0
M thường là 8, 16, 32, 64,128 bit
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
52
2.3. Liên Kết Hệ Thống.
* Bus điều khiển
- Hệ thống các đường dây dẫn 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.
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
53
2.3. Liên Kết Hệ Thống.
* 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
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
54
2.3. Liên Kết Hệ Thống.
-Do nhược điểm của cấu trúc đơn BUS người ta xây dựng cấu trúc đa BUS bao gồm các hệ thốngBUS khác nhau về tốc độ. Các bus được phân theo các cấp độ khác nhau.
-Trong hầu hết các máy PC bus được phân 3 cấp và các bus nối với nhau thông qua cầunối BUS.
+ BUS tốc độ cao.
+ BUS tốc độ trung bình.
+ BUS tốc độ chậm
2.3.3. Phân cấp bus trong máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
55
2.3. Liên Kết Hệ Thống.
2.3.3. Phân cấp bus trong máy tính
Sơ đồ phân cấp BUS trong máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
56
2.3. Liên Kết Hệ Thống.
- Các vấn đề quan trọng nhất liên quan đến thiết kế bus là:các kiểu bus, cơ chế phân xử bus (bus arbitration), xử lý ngắt và xử lý lỗi.
2.3.4. Các vấn đề cơ bản của thiết kế bus
a. Các kiểu Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
57
2.3. Liên Kết Hệ Thống.
* Bus dành riêng (Dedicated):
+ 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.
2.3.4. Các vấn đề cơ bản của thiết kế bus
a. Các kiểu Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
58
2.3. Liên Kết Hệ Thống.
* 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ế
2.3.4. Các vấn đề cơ bản của thiết kế bus
a. Các kiểu Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
59
2.3. Liên Kết Hệ Thống.
- Trong hệ thống máy tính không phải chỉ có CPU làm bus master, các chip I/O cũng có lúc làm bus master để có thể đọc hay ghi bộ nhớ và gọi ngắt, do đó cần có một cơ chế phân xử để tránh sự hỗn loạn của hệ thống. Cơ chế phân xử có thể là tập trung hay không tập trung.
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
60
2.3. Liên Kết Hệ Thống.
* Phân xử BUS tập trung
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
61
2.3. Liên Kết Hệ Thống.
* Phân xử BUS tập trung
- Bộ phân xử (Arbiter) chỉ có thể biết có yêu cầu chiếm dụng bus hay không mà không biết có bao nhiêu đơn vị muốn chiếm dụng BUS.
- Khi arbiter nhận được yêu cầu, nó sẽ phát ra 1 tín hiệu cho phép trên đường dây, thiết bị nằm gần Arbiter nhất nhận được tín hiệu cho phép.
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
62
2.3. Liên Kết Hệ Thống.
* Phân xử BUS không tập trung
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
63
2.3. Liên Kết Hệ Thống.
* Phân xử BUS không tập trung
- Cơ chế sử dụng 3 đường dây, không phụ thuộc vào số lượng thiết bị nối với bus:
+ Bus request: yêu cầu chiếm dụng bus.
+ Bus busy: đường báo bận, được bus master đặt ở mức tích cực khi có thiết bị đang chiếm dụng bus.
+ Bus arbitration: được mắc nối tiếp thành 1 chuỗi xích qua tất cả các thiết bị ngoại vi. Đầu của chuỗi này được gắn với mức điện áp 5V của nguồn nuôi.
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
64
2.3. Liên Kết Hệ Thống.
-Có thể nhiều thiết bị ngoại vi cùng phát ra ngắt, cho nên cần có 1 cơ chế phân xử giống như đối với các bus thông thường.
- Giải pháp thường dùng là gán các mức độ ưu tiên cho các thiết bị và sử dụng 1 arbiter tập trung để trao quyền ưu tiên cho các thiết bị quan trọng thường xuyên được sử dụng.
2.3.4. Các vấn đề cơ bản của thiết kế bus
c. Xử lý ngắt
Hết Chương 2
CHƯƠNG 3: BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH
3.1. Các Hệ Đếm Cơ Bản.
3.2. Mã Hóa Và Lưu Trữ Dữ Liệu Trong Máy Tính.
3.3. Biểu Diễn Số Nguyên.
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
3.5. Số Có Dấu Chấm Động.
3.6. Biểu Diễn Kí Tự.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
67
3.1. Các Hệ Đếm Cơ Bản.
- Bất kỳ một hệ đếm nào đều biểu diễn một số nguyên theo nguyên tắc sau:
-Trong đó:
+ N: là một số nguyên có n chữ số.
+ ai: chữ số tại vị trí i (i=0...n-1).
+ s: là cơ số của hệ đếm
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
68
3.1. Các Hệ Đếm Cơ Bản.
-Định nghĩa: là hệ đếm quen thuộc nhất của nhân loại. Nguồn gốc của nó có thể bắt nguồn từ cơ cấu sinh học của con người, vì mỗi người có 10 ngón tay.
- Ngày nay toàn thế giới thống nhất sửdụng những ký tự số Ả Rập (0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) để biểu diễn hệ thập phân.
3.1.1. Hệ thập phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
69
3.1. Các Hệ Đếm Cơ Bản.
*Dạng tổng quát của số thập phân
A= an-1an-2…a1a0.a-1a-2…a-m
Giá trị của A được biểu diễn
A= an-1.10n-1+...+a1.101+a0.100+…+ a-m.10-m
3.1.1. Hệ thập phân
Ví dụ: biểu diễn giá trị số 472.38
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
70
3.1. Các Hệ Đếm Cơ Bản.
- Định nghĩa: Hệ nhị phân (hay hệ đếm cơ số 2) là một hệ đếm dùng hai ký tự (thường là 0 và 1) để biểu đạt một giá trị số.
- Số nhị phân thường được dùng để biểu đạt các giá trị hiệu điện thế trong máy tính (có hiệu điện thế, hoặc hiệu điện thế cao là 1 và không có, hoặc thấp là 0).
3.1.2. Hệ nhị phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
71
3.1. Các Hệ Đếm Cơ Bản.
- Thông thường người ta lưu chứa thông tin dưới dạng từng nhóm bit:
+ 4 bit là một nibble.
+ 8 bit là một byte.
+ 16 bit là một từ (word).
+ 32 bit là một từ kép (double word).
+ 210 bit là một kilobit (Kbit).
+ 220 bit là một Megabit (Mbit).
+ 230 bit là một Gigabit (Gbit).
3.1.2. Hệ nhị phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
72
3.1. Các Hệ Đếm Cơ Bản.
3.1.2. Hệ nhị phân
*Dạng tổng quát của số nhị phân
A=an-1an-2…a1a0.a-1a-2…a-m
Giá trị của A được biểu diễn
A= an-1.2n-1+...+a1.21+a0.20+…+ a-m.2-m
1 1 0 0 0 1.1 0 1 =
5 4 3 2 1 0 -1 -2 -3
Ví dụ: biểu diễn giá trị số 1 1 0 0 0 1 .1 0 1
= 1.25 + 1.24 + 0.23 + 0.22 + 0.21 + 1.20 + 1.2-1 + 0.2-2 + 1.2-3
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
73
3.1. Các Hệ Đếm Cơ Bản.
3.1.2. Hệ nhị phân
*Phương pháp chuyển hệ từ nhị phân sang các hệ khác và ngược lại
+ Chuyển từ nhị phân sang thập phân: công thức tổng quát để chuyển số nhị phân A=an-1an-2…a1a0.a-1a-2…a-m sang số thập phân A=
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
74
3.1. Các Hệ Đếm Cơ Bản.
3.1.2. Hệ nhị phân
*Phương pháp chuyển hệ từ nhị phân sang các hệ khác và ngược lại
+ Chuyển từ thập phân sang nhị phân: đối với phần nguyên: tiến hành bằng cách chia số này với 2, và những số dư được viết xuống vào hàng (đơn vị) của nó. Kết quả lại tiếp tục được chia với 2, và số dư lại được viết xuống vào hàng (chục) của nó. Phương thức này được tiếp tục nhắc lại cho đến khi thương số của phép chia là 0.Đối với phần dư thực hiện tương tự nhưng tiến hành với phép toán nhân. Ví dụ
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
75
3.1. Các Hệ Đếm Cơ Bản.
- Hệ thống số thập lục phân sử dụng cơ số 16, nghĩa là có 16 ký số. Hệ thập lục phân dùng các ký số từ 0 đến 9 cộng thêm 6 chữ A, B, C, D, E, F.
- Hệ thập lục phân được dùng phổ biến trong thiết kế html, css, lập trình, các chương trình đồ hoạ, biểu diễn địa chỉ website,…
-Vídụ: http://vi.wikipedia.org/wiki/Trang_Ch%C3%ADnh
3.1.3. Hệ thập lục phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
76
*Dạng tổng quát của số thập lục phân
A=an-1an-2…a1a0.a-1a-2…a-m
Giá trị của A được biểu diễn
A= an-1.16n-1+...+a1.161+a0.160+…+ a-m.16-m
Ví dụ: biểu diễn giá trị số 3FC.5A
3FC.5A = 3x162 + 15x161 + 12x160 + 5x16-1 + 10x16-2 = 1020.3515625
3.1.3. Hệ thập lục phân
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
77
3.1.3. Hệ thập lục phân
*Phương pháp chuyển hệ từ thập lục phân sang các hệ khác và ngược lại
+ Chuyển từ thập lục phân sang thập phân: công thức tổng quát để chuyển số thập lục phân A=an-1an-2…a1 a0. a-1a-2…a-m sang số thập phân A=
Ví dụ: chuyển số thập lục phân FFF16 thập phân
FFF16=15.162+15.161+15.160 = 409510
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
78
3.1.3. Hệ thập lục phân
*Phương pháp chuyển hệ từ thập lục phân sang các hệ khác và ngược lại
+ Chuyển từ thập phân sang thập lục phân: đối với phần nguyên: tiến hành bằng cách chia số này với 16, và những số dư được viết xuống vào hàng (đơn vị) của nó. Kết quả lại tiếp tục được chia với 16, và số dư lại được viết xuống vào hàng (chục) của nó. Phương thức này được tiếp tục nhắc lại cho đến khi thương số của phép chia là 0. Đối với phần dư thực hiện tương tự nhưng tiến hành với phép toán nhân. Ví dụ.
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
79
3.1.3. Hệ thập lục phân
*Phương pháp chuyển hệ từ thập lục phân sang các hệ khác và ngược lại
+ Chuyển từ thập lục phân sang nhị phân : sử dụng 4 ký tự số trong hệ nhị phân để biểu đạt được một ký tự số trong hệ thập lục phân.
+ Chuyển từ nhị phân sang thập lục phân : nhóm các bit (4bit) nhị phân từ phải qua trái đối với phần nguyên và nhóm các bit (4bit) nhị phân từ trái qua phải đối với phần thập lẽ.
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
80
3.2. Mã Hóa Và Lưu Trữ Dữ Liệu Trong Máy Tính.
- Mã hóa là gán một ký hiệu cho một đối tượng để thuận tiện cho việc thực hiện một yêu cầu cụ thể nào đó.
3.2.1. Nguyên tắc chung về mã hóa dữ liệu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
81
3.2. Mã Hóa Và Lưu Trữ Dữ Liệu Trong Máy Tính.
- Phần lớn các máy tính ngày nay, mọi vấn đề sẽ được chuyển thành các yếu tố toán học bằng cách diễn tả mọi thông tin liên quan thành các số theo hệ nhị phân (hệ thống đếm dựa trên các số 0 và 1 hay còn gọi là hệ đếm cơ số 2).
- Thông tin được lưu trữ trong bộ nhớ của máy tính một cách lâu dài (khi kết thúc một phiên làm việc của máy tính thì dữ liệu không bị mất đi), hoặc lưu dữ liệu tạm thời trong quá trình làm việc của máy tính (khi kết thúc một phiên làm việc của máy tính thì bộ nhớ này bị mất hết dữ liệu).
3.2.2. Lưu trữ thông tin trong bộ nhớ
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
82
3.3. Biểu Diễn Số Nguyên.
3.3.1. Số nguyên không dấu
-Giả sử dùng n bit để biểu diễn số nguyên không dấu-> dải mà n bit biểu diễn được từ 0 -> 2n-1. Giá trị của số nguyên đó được tính:
- Dải miền trị của số nguyên không dấu được biểu bằng hình tròn
+ Giá trị nhỏ nhất bằng 0
+ Giá trị lớn nhất bằng 2n - 1
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
83
3.3. Biểu Diễn Số Nguyên.
- Có nhiều cách để biêu diễn một số nguyên có dấu. Trong tất cả mọi cách thì bit cao nhất luôn tượng trưng cho dấu.
- Bit dấu có giá trị 0 số nguyên dương, bit dấu có giá trị 1 số nguyên âm.
3.3.2. Số nguyên có dấu
dn-1 dn-2 dn-3 ……. d2 d1 d0
Bit dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
84
3.3. Biểu Diễn Số Nguyên.
* Biểu diễn bằng trị tuyệt đối và dấu: dn-1 là bit dấu các bit từ d0 đến dn-2 là bit cho giá trị tuyệt đối
N =
Ví dụ: +2510=000110012 -2510=100110012
Cách biểu diễn số 0: 0000 0000(+0), 1000 000(-0)
* Biểu diễn bằng số bù 1: số âm có được bằng cách thay các số nhị phân di của số dương bằng số bù của nó (nếu di=0 thì đổi nó thành 1 và ngược lại).
Ví dụ: + 2510 = 000110012 -2510=111001102
Cách biểu diễn số 0: 0000 0000(+0), 1111 1111(-0)
3.3.2. Số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
85
3.3. Biểu Diễn Số Nguyên.
* Biểu diễn bằng số bù 2: để có được số bù 2, người ta lấy số bù 1 cộng thêm 1.
Ví dụ: +2510=000110012, -2510=111001112
Biểu diễn số 0: 0000 0000(+0), 0000 0000(-0)
3.3.2. Số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
86
3.3. Biểu Diễn Số Nguyên.
* Biểu diễn bằng số thừa K: Trong cách này, số dương của một số N có được bằng cách “cộng thêm vào”số thừa K được chọn sao cho tổng của K và một số âm bất kỳ luôn luôn dương. Số âm - N của số N có được bằng cách lấy K-N (hay lấy bù hai của số vừa xác định).
Ví dụ: (Số thừa K=128)
+2510=000110012(25+128)10=100110012, -2510=011001112
3.3.2. Số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
87
3.3. Biểu Diễn Số Nguyên.
3.3.3. Biểu diễn số nguyên theo mã BCD
- Một vài ứng dụng, đặc biệt ứng dụng quản lý, bắt buộc các phép tính thập phân phải chính xác, nhưng ta không thể đổi một cách chính xác số nhị phân thành số thập phân và ngược lại.
khi cần phải dùng số thập phân, ta dùng cách biểu diễn số thập phân mã bằng nhị phân (BCD: BinaryCoded Decimal) theo đó mỗi số thập phân được mã với 4 số nhị phân.
- Để biểu diễn số BCD có dấu, người ta thêm số 0 trước một số dương cần tính, tacó số âm của số BCD bằng cách lấy bù 10 số cần tính.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
88
3.3. Biểu Diễn Số Nguyên.
3.3.3. Biểu diễn số nguyên theo mã BCD
- Ví dụ: biểu diễn số +07910 bằng số BCD
+07910=0000 0111 1001BCD
Bù 9 1001 0010 0000
+1
Bù 10 1001 0010 0001
- Vậy, ta có:
Số -07910 trong cách biểu diễn BCD: 1001 0010 0001BCD
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
89
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Bộ bán tổng (Half-adder)
+ Cộng hai bit tạo ra bit tổng và bit nhớ.
-Bộ toàn tổng (Full-adder)
+ Cộng 3 bit.
+ Cho phép xây dựng bộ cộng N-bit.
3.4.1. Bộ cộng
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
90
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Khi cộng hai số nguyên không dấu n bit
+ Nếu không có nhớ ra khỏi bit cao nhất thì kết quả nhận được luôn đúng.
+ Nếu có nhớ ra khỏi bit cao nhất thì kết quả nhận được là sai. Hay nói khác hơn phép cộng bị tràn(Cout =1)
+ Tràn cờ nhớ (Carry Out) xảy ra khi kết quả phép toán nhận được > 2n - 1
3.4.2. Cộng số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
91
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
57 = 0011 1001
+34 = + 0010 0010
91 0101 1011 = 64+16+8+2+1=91 đúng
209 = 1101 0001
+73 = + 0100 1001
282 1 0001 1010
0001 1010 = 16+8+2=26 sai
có tràn nhớ ra ngoài (Cout=1)
3.4.2. Cộng số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
92
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Khi cộng hai số nguyên có dấu n-bit -> Kết quả nhận được ta không quan tâm đến cờ mang Cout. Mà ta chỉ nhận kết quả tính được trong n-bit. Vì vậy cộng hai số khác dấu thì cho kết quả luôn luôn đúng. Nếu cộng hai số cùng dấu nếu kết quả trả về cùng dấu toán hạng thi kết quả đúng. Ngược lại kết quả khác dấu toán hạng thì xảy ra hiện tượng tràn (Overflow) kết quả sai.
3.4.3. Cộng và trừ số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
93
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
Ví dụ: phép cộng không bị tràn
( + 70) = 0100 0110
+ ( + 42) = 0010 1010
+ 112 0111 0000 = +112
(+ 97) = 0110 0001
+ (- 52) = 1100 1100 (+52=0011 0100)
+ 45 1 0010 1101 = +45
( - 90) = 1010 0110 (+90=0101 1010)
+ ( +36) = 0010 0100
-54 1100 1010 = - 54
( - 74) = 1011 0110 (+74=0100 1010)
+( - 30) = 1110 0010 (+30=0001 1110)
-104 1 1001 1000 = -10
3.4.3. Cộng và trừ số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
94
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
Ví dụ: phép cộng bị tràn
( + 75) = 0100 1011
+( + 82) = 0101 0010
+157 1001 1101
= - 128+16+8+4+1= -99 sai
( - 104) = 1001 1000 (+104=0110 1000)
+ ( - 43) = 1101 0101 (+ 43 =0010 1011)
-147 1 0110 1101
= 64+32+8+4+1= +109 sai
==>Cả hai ví dụ đều tràn vì tổng nằm ngoài dải biểu diễn [-128, +127]
3.4.3. Cộng và trừ số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
95
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
1011 Số bị nhân (11)
x 1101 Số nhân (13)
1011
0000 Các tích riêng phần
1011
1011
10001111 Tích (143)
3.4.4. Nhân số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
96
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Cách nhân:
+ Nếu bit của số nhân bằng 0tích riêng phần bằng 0.
+ Nếu bit của số nhân bằng 1 Æ tích riêng phần bằng số bị nhân.
+ Tích riêng phần tiếp theo được dịch trái một bit so với tích riêng phần trước đó.
+ Tích bằng tổng các tích riêng phần
- Nhân hai số nguyên n-bit, tích có độ dài 2n bit (không bao giờ tràn)
3.4.4. Nhân số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
97
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Bước 1. Chuyển đổi số bị nhân và số nhân thành số dương tương ứng.
- Bước 2. Nhân hai số dương bằng thuật giải nhân số nguyên không dấu, được tích của hai số dương.
- Bước 3. Hiệu chỉnh dấu của tích: Nếu hai thừa số ban đầu cùng dấu thì giữnguyên kết quả ở bước 2. Nếu hai thừa số ban đầu là khác dấu thì đảo dấu kết quả của bước 2.
3.4.5. Nhân số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
98
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
* Chia số nguyên không dấu
Số bị chia 10010011 1011 Số chia
1011 1101 Thương
001110
1011
001111
1011
100 Phần dư
3.4.6. Chia số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
99
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Bước 1. Chuyển đổi số bị chia và số chia về thành số dương tương ứng.
- Bước 2. Sử dụng thuật giải chia số nguyên không dấu để chia hai số dương, kết quả nhận được là thương Q và phần dư R đều là dương
- Bước 3. Hiệu chỉnh dấu của kết quả như sau:
(Lưu ý: phép đảo dấu thực chất là thực hiện phép lấy bù hai)
3.4.7. Chia số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
100
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
3.4.7. Chia số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
101
3.5. Số Có Dấu Chấm Động.
- Các số được chuẩn hóa về một dạng biểu diễn:
+1.fff…f * 2+E
- Trong đó: f là phần lẽ, E là phần mũ.
3.5.1. Nguyên tắc chung
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
102
3.5. Số Có Dấu Chấm Động.
Chuẩn IEEE 754 định nghĩa 2 dạng biểu diễn số chấm động:
- Số chấm động chính xác đơn: chiều dài số 32 bit được chia thành các trường: dấu S (1 bit), mũ E (8bit) phần lẽ (23bit) <==> (-1)S*(1,f1f2……….f23)* 2(E-127)
bit 31 30 23 22 1 0
3.5.2. Biểu diễn theo chuẩn IEEE 754
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
103
3.5. Số Có Dấu Chấm Động.
- Số chấm động chính xác kép: chiều dài số 64 bit được chia thành các trường: dấu S (1 bit), mũ E (11bit) phần lẽ (52bit)<==> (-1)S*(1,f1f2…….….f52)* 2(E-1023)
bit 63 62 52 51 1 0
- Các số chuẩn hóa: các bit của E không cùng lúc bằng 0 hoặc bằng 1.
- Các số không chuẩn hóa: các bit của E không cùng lúc bằng 0 và phần lẽ f1, f2… khác không.
3.5.2. Biểu diễn theo chuẩn IEEE 754
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
104
3.5. Số Có Dấu Chấm Động.
- Ví dụ: các bước chuyển đổi số thập phân -12.62510 sang số chấm động chuẩn IEEE 754 chính xác đơn (32bit):
Giải
+ Bước 1: Đổi số -12.62510 sang nhị phân:
-12.62510 = -1100.1012
+ Bước 2: Chuẩn hoá: -1100.1012 = -1.1001012 x 23 (Số 1.1001012 dạng 1.f)
3.5.2. Biểu diễn theo chuẩn IEEE 754
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
105
3.5. Số Có Dấu Chấm Động.
+ Bước 3: Điền các bit vào các trường theo chuẩn:
Số âm: bit dấu S có giá trị 1.
Phần mũ E với số thừa K=127, ta có
1
PHẦN 1
KIẾN TRÚC MÁY TÍNH
http://laptrinhmmt.blogspot.com/p/tai-lieu-hoc-tap.html
CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC MÁY TÍNH
1.1. Máy Tính Và Phân Loại Máy Tính.
1.2. Kiến Trúc Máy Tính
1.3. Sự Tiến Hóa Của Máy Tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
3
1.1. Máy Tính Và Phân Loại Máy Tính.
Máy tính được mô tả là một thiết bị điện tử thực hiện các thao tác toán học, logic học và đồ hoạ.
1.1.1. Máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
4
1.1. Máy Tính Và Phân Loại Máy Tính.
a. Siêu máy tính: Là các máy tính đắt tiền nhất và tính năng kỹ thuật cao nhất. Giá bán một siêu máy tính từ vài triệu USD.
1.1.2. Phân loại máy tính
I.B.M.’s Blue Gene
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
5
1.1. Máy Tính Và Phân Loại Máy Tính.
b. Máy tính lớn: là loại máy tính đa dụng. Nó có thể dùng cho các ứng dụng quản lý cũng như các tính toán khoa học.
1.1.2. Phân loại máy tính
System Z10
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
6
1.1. Máy Tính Và Phân Loại Máy Tính.
c. Máy tính mini: là loại máy cở trung, giá một máy tính mini có thể từ vài chục USD đến vài trăm ngàn USD.
1.1.2. Phân loại máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
7
1.1. Máy Tính Và Phân Loại Máy Tính.
d. Máy vi tính: là loại máy tính dùng bộ vi xử lý, giá một máy vi tính có thể từ vài trăm USD đến vài ngàn USD.
1.1.2. Phân loại máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
8
1.2. Kiến Trúc Máy Tính
Kiến trúc máy tính: là thiết kế khái niệm và cấu trúc hoạt động căn bản của một hệ thống máy tính.
Kiến trúc máy tính gồm 3 phạm trù chính:
+ Kiến trúc tập lệnh:là hình ảnh trừu tượng của một hệ thống tính toán được nhìn từ góc độ của một lập trình viên sử dụng ngôn ngữ máy.
+ Vi kiến trúc: còn gọi là tổ chức máy tính là một mô tả bậc thấp, cụ thể hơn về hệ thống.
+ Thiết kế hệ thống: bao gồm tất cả các thành phần phần cứng khác bên trong một hệ thống tính toán.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
9
1.2. Kiến Trúc Máy Tính
Kiến trúc tập lệnh bao gồm:
+ Tập lệnh: Tập hợp các lệnh mà CPU hiểu được và thực thi được, lệnh được biểu diễn dưới dạng mã máy.
+ Các kiểu dữ liệu: các kiểu dữ liệu mà máy tính có thể xử lý.
1.2.1. Kiến trúc tập lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
10
1.2. Kiến Trúc Máy Tính
Tổ chức máy tính:
Cấu trúc
Máy tính điện tử
Hoạt động
Cấu trúc (structure): các thành phần kết nối tạo hệ thống.
Hoạt động (behavior, function): hoạt động của từng thành phần.
1.2.2. Tổ chức của máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
11
1.3. Sự Tiến Hóa Của Máy Tính
1.3.1. Thế hệ 1: Máy tính dùng đèn điện tử
Máy tính ENIAC
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
12
1.3. Sự Tiến Hóa Của Máy Tính
ENIAC (Electronic Numerical Integrator and Computer) là máy tính điện tử số đầu tiên được thiết kế vào năm 1943 và hoàn thành năm 1946.
1.3.1. Thế hệ 1: Máy tính dùng đèn điện tử
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
13
1.3. Sự Tiến Hóa Của Máy Tính
- Công ty Bell đã phát minh ra transistor vào năm 1947.
- Đến cuối thập niên 50, máy tính thương mại dùng transistor xuất hiện trên thị trường.
- Một số ưu điểm của máy tính sử dụng transitor:
+ Kích thước máy tính giảm.
+ Rẻ tiền hơn.
+ Tiêu tốn năng lượng ít hơn.
1.3.2. Thế hệ 2: Máy tính dùng transistor
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
14
1.3. Sự Tiến Hóa Của Máy Tính
- Một số ngôn ngữ cấp cao xuất hiện:
+ FORTRAN năm 1956.
+ COBOL năm 1959.
+ ALGOL năm 1960.
1.3.2. Thế hệ 2: Máy tính dùng transistor
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
15
1.3. Sự Tiến Hóa Của Máy Tính
- 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 hợp - IC: Integrated Circuit).
- Mạch kết độ tích hợp mật độ thấp (SSI: Small Scale Integration) có thể chứa vài chục linh kiện.
- Mạch kết độ tích hợp mật độ trung bình (MSI: Medium Scale Integration) chứa hàng trăm linh kiện trên mạch tích hợp.
1.3.3. Thế hệ 3: Máy tính dùng mạcht tích hợp SSI, MSI, và LSI
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
16
1.3. Sự Tiến Hóa Của Máy Tính
- Mạch kết độ tích hợp mật độ cao (LSI: Medium Scale Integration) có thể chứa hàng ngàn linh kiện.
1.3.3. Thế hệ 3: Máy tính dùng mạcht tích hợp SSI, MSI, và LSI
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
17
1.3. Sự Tiến Hóa Của Máy Tính
- 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ên mạch. Hiện nay, các chip VLSI chứa hàng triệu linh kiện.
- Việc chuyển từ thế hệ thứ tư sang thế hệ thứ 5 còn chưa rõ ràng. 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.3.4. Thế hệ 4: Máy tính dùng mạch tích hợp VLSI
Hết Chương 1
CHƯƠNG 2: HỆ THỐNG MÁY TÍNH
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
2.3. Liên Kết Hệ Thống.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
20
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
21
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
- CPU (Central Processing Unit:đơn vị xử lý trung tâm): có thể được xem như não bộ của máy tính. CPU đảm nhận thực hiện chức năng cơ bản của máy tính là thực thi chương trình.
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
22
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Các thành phần của CPU:
+ Bộ điều khiển (CU-Control Unit): nhiệm vụ thông dịch các lệnh của chương trình 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.
+ Bộ số học-logic (ALU-Arithmetic Logic Unit): 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...).
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
23
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Các thành phần của CPU:
+ Đồng hồ hệ thống: dùng để đồng bộ các thao tác xử lý bên trong và bên ngoài CPU bằng cách phát ra các xung nhịp thời gian.
+ Các thanh ghi (Registes): là các phần tử nhớ tạm thời đặt trong CPU dùng để lưu trữ dữ liệu và địa chỉ.
+ Bộ nhớ đệm (Cache): cất trữ các dữ liệu mới được truy cập, hoặc các lệnh thường xuyên dùng.
+ Kênh truyền dữ liệu ( BUS)
2.1.1. Bộ xử lý trung tâm (CPU)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
24
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong : RAM(Random Access Memory)
- RAM: là một loại bộ nhớ chính của máy tính.
- Mỗi ô nhớ của RAM đều có một địa chỉ, mỗi ô nhớ chứa 1 byte (8 bit).
- RAM thường được sử dụngđể lưu trữ các thông tin thay đổi, và các thông tin được sử dụng hiện hành.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
25
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: RAM
- Tùy theo công nghệ chế tạo, người ta phân biệt thành 2 loại:
+ DRAM (Dynamic RAM): mỗi bit nhớ gồm một transistor và một tụ điện. Bộ nhớ DRAM chậm nhưng rẻ tiền hơn SRAM.
+ SRAM (Static RAM): Mỗi bit nhớ gồm có các cổng logic với 6 transistor MOS
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
26
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: RAM
- Một số thông số của Ram:
+ Dung lượng: được tính bằng MB và GB, Dung lượng của RAM càng lớn càng tốt cho hệ thống.
+ BUS: lưu thông, vận chuyển tín hiệu, dữ liệu.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
27
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: ROM(Read-Only Memory)
- ROM: phần bộ nhớ chỉ đọc của máy tính, dung lượng rất nhỏ và chứa các thông tin về cấu hình BIOS máy.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
28
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: ROM
- Phân loại ROM
+ PROM (Programmable Read-Only Memory): chỉ lập trình được một lần duy nhất bằng phương pháp hàn cứng.
+ EPROM (Erasable PROM): là PROM có thể xoá đi và lập trình lại (yêu cầu một công cụ đặc biệt là tia cực tím).
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
29
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ trong: ROM
- Phân loại ROM:
+ EAROM (Electrically Alterable Read-Only Memory): Loại ROM này có thể thay đổi từng bit một lần.
+ EEPROM (Electrically Erasable PROM): loại bỏ đi nhiều nhược điểm của EPROM, không cần công cụ đặc biệt để xoá.
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
30
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
* Bộ nhớ ngoài
- Bộ nhớ ngoài được hiểu là bộ nhớ máy tính gắn bên ngoài thùng máy, có thể dùng để mang đi lại được.
- Một số loại bộ nhớ ngoài:
+ Đĩa từ.
+ Băng từ, đĩa mềm, đĩa quang.
+ Các bộ nhớ flash như thẻ nhớ...
2.1.2. Bộ nhớ máy tính (Memory)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
31
2.1. Các Thành Phần Cơ Bản Của Máy Tính.
-Dựa trên chức năng và cách thức hoạt động người ta phân biệt phần cứng ra thành:
-Nhập hay đầu vào (Input): Các bộ phận thu nhập dữ liệu hay mệnh lệnh như là bàn phím, chuột...
-Xuất hay đầu ra (Output): Các bộ phận trả lời, phát tín hiệu, hay thực thi lệnh ra bên ngoài như là màn hình, máy in, loa, ...
2.1.3. Hệ thống vào – ra (Input – Output)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
32
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- Hoạt động cơ bản của máy tính là thực hiện chương trình.
- Quá trình thực hiện chương trìnhMá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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
33
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* 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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
34
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* Nhận lệnh:
- 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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
35
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* 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.
- 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.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
36
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
* Thực hiện lệnh:
- Các kiểu thao tác của lệnh:
+Điều khiển rẽ nhánh
+Kết hợp các thao tác trên.
2.2.1. Nhận lệnh và thực hiện lệnh
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
37
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiệnmột chương trình khác chương trình này được gọi là chương trình phục vụ ngắt (ISR –Interrupt Service Routine).
- Phân loại ngắt: trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm.
2.2.2. Hoạt động ngắt
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
38
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
+Ngắt mềm: là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy.
+Ngắt cứng: không được khởi động bên trong máy tính mà do cáclinh kiện điện tử tác đông lên hệ thống.
2.2.2. Hoạt động ngắt
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
39
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt.
- Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng.
- Một chương trình có thể gọi chương trình con loại này mà không cầnbiết địa chỉ của nó.
2.2.2. Hoạt động ngắt
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
40
2.2. Các Hoạt Động Cơ Bản Của Máy Tính.
- 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).
2.2.3. Hoạt động vào - ra
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
41
2.3. Liên Kết Hệ Thống.
- Các mô-đun trong máy tính:
+ CPU
+ Mô-đun nhớ
+ Mô-đun vào-ra
==>cần được kết nối với nhau
2.3.1. Luồng thông tin trong máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
42
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun nhớ
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
43
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun nhớ
- Địa chỉ đưa đến để xác định ngăn nhớ
- Dữ liệu được đưa đến khi ghi
- Dữ liệu hoặc lệnh được đưa ra khi đọc (lưu ý: bộ nhớ không phân biệt lệnh vàdữ liệu)
- Nhận các tín hiệu điều khiển:
+ Điều khiển đọc (Read)
+ Điều khiển ghi (Write)
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
44
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun vào ra
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
45
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun vào ra
- Địa chỉ đưa đến để xác định cổng vào-ra
- Ra dữ liệu (Output)
+ Nhận dữ liệu từ CPU hoặc bộ nhớ chính
+ Đưa dữ liệu ra thiết bị ngoại vi
- Vào dữ liệu (Input)
+ Nhận dữ liệu từ thiết bị ngoại vi
+ Đưa dữ liệu vào CPU hoặc bộ nhớ chính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
46
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối mô – đun vào ra
- Nhận các tín hiệu điều khiển từ CPU
- Phát các tín hiệu điều khiển đến thiết bị ngoại vi
- Phát các tín hiệu ngắt đến CPU
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
47
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối CPU
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
48
2.3. Liên Kết Hệ Thống.
2.3.1. Luồng thông tin trong máy tính
*Kết nối CPU
- Phát địa chỉ đến các mô-đun nhớ hay các mô-đun vào-ra.
- Đọc lệnh và dữ liệu.
- Đưa dữ liệu ra (sau khi xử lý).
- Phát tín hiệu điều khiển đến các mô-đun nhớ và các mô-đun vào-ra.
- Nhận các tín hiệu ngắt.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
49
2.3. Liên Kết Hệ Thống.
- Bus là một hệ thống các dây cáp nối (khoảng 50 đến 100 sợi cáp riêng biệt) trong đó một nhóm các cáp được định nghĩa chức năng khác nhau.
- Các bus chức năng:
+ Bus địa chỉ.
+ Bus dữ liệu.
+ Bus điều khiển.
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
50
2.3. Liên Kết Hệ Thống.
* Bus địa chỉ
- Hệ thống các đường dây dẫn vận chuyển địa chỉ để xác định ngăn nhớ hay cỗng vào ra.
- Độ rộng bus địa chỉ: cho biết số lượng ngăn nhớ tối đa được đánh địa chỉ.
N bit: AN-1, AN-2, ... A2, A1, A0
có thể đánh địa chỉ tối đa cho 2N ngăn nhớ (không gian địa chỉ bộ nhớ).
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
51
2.3. Liên Kết Hệ Thống.
* Bus dữ liệu
- Hệ thống các đường dây dẫn vận chuyển lệnh từ bộ nhớ đến CPU, hoặc 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: DM-1, DM-2, ... D2, D1, D0
M thường là 8, 16, 32, 64,128 bit
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
52
2.3. Liên Kết Hệ Thống.
* Bus điều khiển
- Hệ thống các đường dây dẫn 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.
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
53
2.3. Liên Kết Hệ Thống.
* 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
2.3.2. Cấu trúc bus cơ bản
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
54
2.3. Liên Kết Hệ Thống.
-Do nhược điểm của cấu trúc đơn BUS người ta xây dựng cấu trúc đa BUS bao gồm các hệ thốngBUS khác nhau về tốc độ. Các bus được phân theo các cấp độ khác nhau.
-Trong hầu hết các máy PC bus được phân 3 cấp và các bus nối với nhau thông qua cầunối BUS.
+ BUS tốc độ cao.
+ BUS tốc độ trung bình.
+ BUS tốc độ chậm
2.3.3. Phân cấp bus trong máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
55
2.3. Liên Kết Hệ Thống.
2.3.3. Phân cấp bus trong máy tính
Sơ đồ phân cấp BUS trong máy tính
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
56
2.3. Liên Kết Hệ Thống.
- Các vấn đề quan trọng nhất liên quan đến thiết kế bus là:các kiểu bus, cơ chế phân xử bus (bus arbitration), xử lý ngắt và xử lý lỗi.
2.3.4. Các vấn đề cơ bản của thiết kế bus
a. Các kiểu Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
57
2.3. Liên Kết Hệ Thống.
* Bus dành riêng (Dedicated):
+ 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.
2.3.4. Các vấn đề cơ bản của thiết kế bus
a. Các kiểu Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
58
2.3. Liên Kết Hệ Thống.
* 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ế
2.3.4. Các vấn đề cơ bản của thiết kế bus
a. Các kiểu Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
59
2.3. Liên Kết Hệ Thống.
- Trong hệ thống máy tính không phải chỉ có CPU làm bus master, các chip I/O cũng có lúc làm bus master để có thể đọc hay ghi bộ nhớ và gọi ngắt, do đó cần có một cơ chế phân xử để tránh sự hỗn loạn của hệ thống. Cơ chế phân xử có thể là tập trung hay không tập trung.
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
60
2.3. Liên Kết Hệ Thống.
* Phân xử BUS tập trung
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
61
2.3. Liên Kết Hệ Thống.
* Phân xử BUS tập trung
- Bộ phân xử (Arbiter) chỉ có thể biết có yêu cầu chiếm dụng bus hay không mà không biết có bao nhiêu đơn vị muốn chiếm dụng BUS.
- Khi arbiter nhận được yêu cầu, nó sẽ phát ra 1 tín hiệu cho phép trên đường dây, thiết bị nằm gần Arbiter nhất nhận được tín hiệu cho phép.
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
62
2.3. Liên Kết Hệ Thống.
* Phân xử BUS không tập trung
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
63
2.3. Liên Kết Hệ Thống.
* Phân xử BUS không tập trung
- Cơ chế sử dụng 3 đường dây, không phụ thuộc vào số lượng thiết bị nối với bus:
+ Bus request: yêu cầu chiếm dụng bus.
+ Bus busy: đường báo bận, được bus master đặt ở mức tích cực khi có thiết bị đang chiếm dụng bus.
+ Bus arbitration: được mắc nối tiếp thành 1 chuỗi xích qua tất cả các thiết bị ngoại vi. Đầu của chuỗi này được gắn với mức điện áp 5V của nguồn nuôi.
2.3.4. Các vấn đề cơ bản của thiết kế bus
b. Phân xử Bus
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
64
2.3. Liên Kết Hệ Thống.
-Có thể nhiều thiết bị ngoại vi cùng phát ra ngắt, cho nên cần có 1 cơ chế phân xử giống như đối với các bus thông thường.
- Giải pháp thường dùng là gán các mức độ ưu tiên cho các thiết bị và sử dụng 1 arbiter tập trung để trao quyền ưu tiên cho các thiết bị quan trọng thường xuyên được sử dụng.
2.3.4. Các vấn đề cơ bản của thiết kế bus
c. Xử lý ngắt
Hết Chương 2
CHƯƠNG 3: BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH
3.1. Các Hệ Đếm Cơ Bản.
3.2. Mã Hóa Và Lưu Trữ Dữ Liệu Trong Máy Tính.
3.3. Biểu Diễn Số Nguyên.
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
3.5. Số Có Dấu Chấm Động.
3.6. Biểu Diễn Kí Tự.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
67
3.1. Các Hệ Đếm Cơ Bản.
- Bất kỳ một hệ đếm nào đều biểu diễn một số nguyên theo nguyên tắc sau:
-Trong đó:
+ N: là một số nguyên có n chữ số.
+ ai: chữ số tại vị trí i (i=0...n-1).
+ s: là cơ số của hệ đếm
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
68
3.1. Các Hệ Đếm Cơ Bản.
-Định nghĩa: là hệ đếm quen thuộc nhất của nhân loại. Nguồn gốc của nó có thể bắt nguồn từ cơ cấu sinh học của con người, vì mỗi người có 10 ngón tay.
- Ngày nay toàn thế giới thống nhất sửdụng những ký tự số Ả Rập (0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) để biểu diễn hệ thập phân.
3.1.1. Hệ thập phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
69
3.1. Các Hệ Đếm Cơ Bản.
*Dạng tổng quát của số thập phân
A= an-1an-2…a1a0.a-1a-2…a-m
Giá trị của A được biểu diễn
A= an-1.10n-1+...+a1.101+a0.100+…+ a-m.10-m
3.1.1. Hệ thập phân
Ví dụ: biểu diễn giá trị số 472.38
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
70
3.1. Các Hệ Đếm Cơ Bản.
- Định nghĩa: Hệ nhị phân (hay hệ đếm cơ số 2) là một hệ đếm dùng hai ký tự (thường là 0 và 1) để biểu đạt một giá trị số.
- Số nhị phân thường được dùng để biểu đạt các giá trị hiệu điện thế trong máy tính (có hiệu điện thế, hoặc hiệu điện thế cao là 1 và không có, hoặc thấp là 0).
3.1.2. Hệ nhị phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
71
3.1. Các Hệ Đếm Cơ Bản.
- Thông thường người ta lưu chứa thông tin dưới dạng từng nhóm bit:
+ 4 bit là một nibble.
+ 8 bit là một byte.
+ 16 bit là một từ (word).
+ 32 bit là một từ kép (double word).
+ 210 bit là một kilobit (Kbit).
+ 220 bit là một Megabit (Mbit).
+ 230 bit là một Gigabit (Gbit).
3.1.2. Hệ nhị phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
72
3.1. Các Hệ Đếm Cơ Bản.
3.1.2. Hệ nhị phân
*Dạng tổng quát của số nhị phân
A=an-1an-2…a1a0.a-1a-2…a-m
Giá trị của A được biểu diễn
A= an-1.2n-1+...+a1.21+a0.20+…+ a-m.2-m
1 1 0 0 0 1.1 0 1 =
5 4 3 2 1 0 -1 -2 -3
Ví dụ: biểu diễn giá trị số 1 1 0 0 0 1 .1 0 1
= 1.25 + 1.24 + 0.23 + 0.22 + 0.21 + 1.20 + 1.2-1 + 0.2-2 + 1.2-3
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
73
3.1. Các Hệ Đếm Cơ Bản.
3.1.2. Hệ nhị phân
*Phương pháp chuyển hệ từ nhị phân sang các hệ khác và ngược lại
+ Chuyển từ nhị phân sang thập phân: công thức tổng quát để chuyển số nhị phân A=an-1an-2…a1a0.a-1a-2…a-m sang số thập phân A=
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
74
3.1. Các Hệ Đếm Cơ Bản.
3.1.2. Hệ nhị phân
*Phương pháp chuyển hệ từ nhị phân sang các hệ khác và ngược lại
+ Chuyển từ thập phân sang nhị phân: đối với phần nguyên: tiến hành bằng cách chia số này với 2, và những số dư được viết xuống vào hàng (đơn vị) của nó. Kết quả lại tiếp tục được chia với 2, và số dư lại được viết xuống vào hàng (chục) của nó. Phương thức này được tiếp tục nhắc lại cho đến khi thương số của phép chia là 0.Đối với phần dư thực hiện tương tự nhưng tiến hành với phép toán nhân. Ví dụ
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
75
3.1. Các Hệ Đếm Cơ Bản.
- Hệ thống số thập lục phân sử dụng cơ số 16, nghĩa là có 16 ký số. Hệ thập lục phân dùng các ký số từ 0 đến 9 cộng thêm 6 chữ A, B, C, D, E, F.
- Hệ thập lục phân được dùng phổ biến trong thiết kế html, css, lập trình, các chương trình đồ hoạ, biểu diễn địa chỉ website,…
-Vídụ: http://vi.wikipedia.org/wiki/Trang_Ch%C3%ADnh
3.1.3. Hệ thập lục phân
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
76
*Dạng tổng quát của số thập lục phân
A=an-1an-2…a1a0.a-1a-2…a-m
Giá trị của A được biểu diễn
A= an-1.16n-1+...+a1.161+a0.160+…+ a-m.16-m
Ví dụ: biểu diễn giá trị số 3FC.5A
3FC.5A = 3x162 + 15x161 + 12x160 + 5x16-1 + 10x16-2 = 1020.3515625
3.1.3. Hệ thập lục phân
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
77
3.1.3. Hệ thập lục phân
*Phương pháp chuyển hệ từ thập lục phân sang các hệ khác và ngược lại
+ Chuyển từ thập lục phân sang thập phân: công thức tổng quát để chuyển số thập lục phân A=an-1an-2…a1 a0. a-1a-2…a-m sang số thập phân A=
Ví dụ: chuyển số thập lục phân FFF16 thập phân
FFF16=15.162+15.161+15.160 = 409510
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
78
3.1.3. Hệ thập lục phân
*Phương pháp chuyển hệ từ thập lục phân sang các hệ khác và ngược lại
+ Chuyển từ thập phân sang thập lục phân: đối với phần nguyên: tiến hành bằng cách chia số này với 16, và những số dư được viết xuống vào hàng (đơn vị) của nó. Kết quả lại tiếp tục được chia với 16, và số dư lại được viết xuống vào hàng (chục) của nó. Phương thức này được tiếp tục nhắc lại cho đến khi thương số của phép chia là 0. Đối với phần dư thực hiện tương tự nhưng tiến hành với phép toán nhân. Ví dụ.
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
79
3.1.3. Hệ thập lục phân
*Phương pháp chuyển hệ từ thập lục phân sang các hệ khác và ngược lại
+ Chuyển từ thập lục phân sang nhị phân : sử dụng 4 ký tự số trong hệ nhị phân để biểu đạt được một ký tự số trong hệ thập lục phân.
+ Chuyển từ nhị phân sang thập lục phân : nhóm các bit (4bit) nhị phân từ phải qua trái đối với phần nguyên và nhóm các bit (4bit) nhị phân từ trái qua phải đối với phần thập lẽ.
3.1. Các Hệ Đếm Cơ Bản.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
80
3.2. Mã Hóa Và Lưu Trữ Dữ Liệu Trong Máy Tính.
- Mã hóa là gán một ký hiệu cho một đối tượng để thuận tiện cho việc thực hiện một yêu cầu cụ thể nào đó.
3.2.1. Nguyên tắc chung về mã hóa dữ liệu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
81
3.2. Mã Hóa Và Lưu Trữ Dữ Liệu Trong Máy Tính.
- Phần lớn các máy tính ngày nay, mọi vấn đề sẽ được chuyển thành các yếu tố toán học bằng cách diễn tả mọi thông tin liên quan thành các số theo hệ nhị phân (hệ thống đếm dựa trên các số 0 và 1 hay còn gọi là hệ đếm cơ số 2).
- Thông tin được lưu trữ trong bộ nhớ của máy tính một cách lâu dài (khi kết thúc một phiên làm việc của máy tính thì dữ liệu không bị mất đi), hoặc lưu dữ liệu tạm thời trong quá trình làm việc của máy tính (khi kết thúc một phiên làm việc của máy tính thì bộ nhớ này bị mất hết dữ liệu).
3.2.2. Lưu trữ thông tin trong bộ nhớ
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
82
3.3. Biểu Diễn Số Nguyên.
3.3.1. Số nguyên không dấu
-Giả sử dùng n bit để biểu diễn số nguyên không dấu-> dải mà n bit biểu diễn được từ 0 -> 2n-1. Giá trị của số nguyên đó được tính:
- Dải miền trị của số nguyên không dấu được biểu bằng hình tròn
+ Giá trị nhỏ nhất bằng 0
+ Giá trị lớn nhất bằng 2n - 1
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
83
3.3. Biểu Diễn Số Nguyên.
- Có nhiều cách để biêu diễn một số nguyên có dấu. Trong tất cả mọi cách thì bit cao nhất luôn tượng trưng cho dấu.
- Bit dấu có giá trị 0 số nguyên dương, bit dấu có giá trị 1 số nguyên âm.
3.3.2. Số nguyên có dấu
dn-1 dn-2 dn-3 ……. d2 d1 d0
Bit dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
84
3.3. Biểu Diễn Số Nguyên.
* Biểu diễn bằng trị tuyệt đối và dấu: dn-1 là bit dấu các bit từ d0 đến dn-2 là bit cho giá trị tuyệt đối
N =
Ví dụ: +2510=000110012 -2510=100110012
Cách biểu diễn số 0: 0000 0000(+0), 1000 000(-0)
* Biểu diễn bằng số bù 1: số âm có được bằng cách thay các số nhị phân di của số dương bằng số bù của nó (nếu di=0 thì đổi nó thành 1 và ngược lại).
Ví dụ: + 2510 = 000110012 -2510=111001102
Cách biểu diễn số 0: 0000 0000(+0), 1111 1111(-0)
3.3.2. Số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
85
3.3. Biểu Diễn Số Nguyên.
* Biểu diễn bằng số bù 2: để có được số bù 2, người ta lấy số bù 1 cộng thêm 1.
Ví dụ: +2510=000110012, -2510=111001112
Biểu diễn số 0: 0000 0000(+0), 0000 0000(-0)
3.3.2. Số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
86
3.3. Biểu Diễn Số Nguyên.
* Biểu diễn bằng số thừa K: Trong cách này, số dương của một số N có được bằng cách “cộng thêm vào”số thừa K được chọn sao cho tổng của K và một số âm bất kỳ luôn luôn dương. Số âm - N của số N có được bằng cách lấy K-N (hay lấy bù hai của số vừa xác định).
Ví dụ: (Số thừa K=128)
+2510=000110012(25+128)10=100110012, -2510=011001112
3.3.2. Số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
87
3.3. Biểu Diễn Số Nguyên.
3.3.3. Biểu diễn số nguyên theo mã BCD
- Một vài ứng dụng, đặc biệt ứng dụng quản lý, bắt buộc các phép tính thập phân phải chính xác, nhưng ta không thể đổi một cách chính xác số nhị phân thành số thập phân và ngược lại.
khi cần phải dùng số thập phân, ta dùng cách biểu diễn số thập phân mã bằng nhị phân (BCD: BinaryCoded Decimal) theo đó mỗi số thập phân được mã với 4 số nhị phân.
- Để biểu diễn số BCD có dấu, người ta thêm số 0 trước một số dương cần tính, tacó số âm của số BCD bằng cách lấy bù 10 số cần tính.
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
88
3.3. Biểu Diễn Số Nguyên.
3.3.3. Biểu diễn số nguyên theo mã BCD
- Ví dụ: biểu diễn số +07910 bằng số BCD
+07910=0000 0111 1001BCD
Bù 9 1001 0010 0000
+1
Bù 10 1001 0010 0001
- Vậy, ta có:
Số -07910 trong cách biểu diễn BCD: 1001 0010 0001BCD
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
89
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Bộ bán tổng (Half-adder)
+ Cộng hai bit tạo ra bit tổng và bit nhớ.
-Bộ toàn tổng (Full-adder)
+ Cộng 3 bit.
+ Cho phép xây dựng bộ cộng N-bit.
3.4.1. Bộ cộng
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
90
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Khi cộng hai số nguyên không dấu n bit
+ Nếu không có nhớ ra khỏi bit cao nhất thì kết quả nhận được luôn đúng.
+ Nếu có nhớ ra khỏi bit cao nhất thì kết quả nhận được là sai. Hay nói khác hơn phép cộng bị tràn(Cout =1)
+ Tràn cờ nhớ (Carry Out) xảy ra khi kết quả phép toán nhận được > 2n - 1
3.4.2. Cộng số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
91
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
57 = 0011 1001
+34 = + 0010 0010
91 0101 1011 = 64+16+8+2+1=91 đúng
209 = 1101 0001
+73 = + 0100 1001
282 1 0001 1010
0001 1010 = 16+8+2=26 sai
có tràn nhớ ra ngoài (Cout=1)
3.4.2. Cộng số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
92
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Khi cộng hai số nguyên có dấu n-bit -> Kết quả nhận được ta không quan tâm đến cờ mang Cout. Mà ta chỉ nhận kết quả tính được trong n-bit. Vì vậy cộng hai số khác dấu thì cho kết quả luôn luôn đúng. Nếu cộng hai số cùng dấu nếu kết quả trả về cùng dấu toán hạng thi kết quả đúng. Ngược lại kết quả khác dấu toán hạng thì xảy ra hiện tượng tràn (Overflow) kết quả sai.
3.4.3. Cộng và trừ số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
93
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
Ví dụ: phép cộng không bị tràn
( + 70) = 0100 0110
+ ( + 42) = 0010 1010
+ 112 0111 0000 = +112
(+ 97) = 0110 0001
+ (- 52) = 1100 1100 (+52=0011 0100)
+ 45 1 0010 1101 = +45
( - 90) = 1010 0110 (+90=0101 1010)
+ ( +36) = 0010 0100
-54 1100 1010 = - 54
( - 74) = 1011 0110 (+74=0100 1010)
+( - 30) = 1110 0010 (+30=0001 1110)
-104 1 1001 1000 = -10
3.4.3. Cộng và trừ số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
94
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
Ví dụ: phép cộng bị tràn
( + 75) = 0100 1011
+( + 82) = 0101 0010
+157 1001 1101
= - 128+16+8+4+1= -99 sai
( - 104) = 1001 1000 (+104=0110 1000)
+ ( - 43) = 1101 0101 (+ 43 =0010 1011)
-147 1 0110 1101
= 64+32+8+4+1= +109 sai
==>Cả hai ví dụ đều tràn vì tổng nằm ngoài dải biểu diễn [-128, +127]
3.4.3. Cộng và trừ số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
95
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
1011 Số bị nhân (11)
x 1101 Số nhân (13)
1011
0000 Các tích riêng phần
1011
1011
10001111 Tích (143)
3.4.4. Nhân số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
96
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Cách nhân:
+ Nếu bit của số nhân bằng 0tích riêng phần bằng 0.
+ Nếu bit của số nhân bằng 1 Æ tích riêng phần bằng số bị nhân.
+ Tích riêng phần tiếp theo được dịch trái một bit so với tích riêng phần trước đó.
+ Tích bằng tổng các tích riêng phần
- Nhân hai số nguyên n-bit, tích có độ dài 2n bit (không bao giờ tràn)
3.4.4. Nhân số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
97
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Bước 1. Chuyển đổi số bị nhân và số nhân thành số dương tương ứng.
- Bước 2. Nhân hai số dương bằng thuật giải nhân số nguyên không dấu, được tích của hai số dương.
- Bước 3. Hiệu chỉnh dấu của tích: Nếu hai thừa số ban đầu cùng dấu thì giữnguyên kết quả ở bước 2. Nếu hai thừa số ban đầu là khác dấu thì đảo dấu kết quả của bước 2.
3.4.5. Nhân số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
98
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
* Chia số nguyên không dấu
Số bị chia 10010011 1011 Số chia
1011 1101 Thương
001110
1011
001111
1011
100 Phần dư
3.4.6. Chia số nguyên không dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
99
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
- Bước 1. Chuyển đổi số bị chia và số chia về thành số dương tương ứng.
- Bước 2. Sử dụng thuật giải chia số nguyên không dấu để chia hai số dương, kết quả nhận được là thương Q và phần dư R đều là dương
- Bước 3. Hiệu chỉnh dấu của kết quả như sau:
(Lưu ý: phép đảo dấu thực chất là thực hiện phép lấy bù hai)
3.4.7. Chia số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
100
3.4. Thực Hiện Phép Toán Cộng Trừ Với Số Nguyên.
3.4.7. Chia số nguyên có dấu
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
101
3.5. Số Có Dấu Chấm Động.
- Các số được chuẩn hóa về một dạng biểu diễn:
+1.fff…f * 2+E
- Trong đó: f là phần lẽ, E là phần mũ.
3.5.1. Nguyên tắc chung
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
102
3.5. Số Có Dấu Chấm Động.
Chuẩn IEEE 754 định nghĩa 2 dạng biểu diễn số chấm động:
- Số chấm động chính xác đơn: chiều dài số 32 bit được chia thành các trường: dấu S (1 bit), mũ E (8bit) phần lẽ (23bit) <==> (-1)S*(1,f1f2……….f23)* 2(E-127)
bit 31 30 23 22 1 0
3.5.2. Biểu diễn theo chuẩn IEEE 754
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
103
3.5. Số Có Dấu Chấm Động.
- Số chấm động chính xác kép: chiều dài số 64 bit được chia thành các trường: dấu S (1 bit), mũ E (11bit) phần lẽ (52bit)<==> (-1)S*(1,f1f2…….….f52)* 2(E-1023)
bit 63 62 52 51 1 0
- Các số chuẩn hóa: các bit của E không cùng lúc bằng 0 hoặc bằng 1.
- Các số không chuẩn hóa: các bit của E không cùng lúc bằng 0 và phần lẽ f1, f2… khác không.
3.5.2. Biểu diễn theo chuẩn IEEE 754
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
104
3.5. Số Có Dấu Chấm Động.
- Ví dụ: các bước chuyển đổi số thập phân -12.62510 sang số chấm động chuẩn IEEE 754 chính xác đơn (32bit):
Giải
+ Bước 1: Đổi số -12.62510 sang nhị phân:
-12.62510 = -1100.1012
+ Bước 2: Chuẩn hoá: -1100.1012 = -1.1001012 x 23 (Số 1.1001012 dạng 1.f)
3.5.2. Biểu diễn theo chuẩn IEEE 754
Bài Giảng Kiến Trúc Máy Tính - Hệ Điều Hành
105
3.5. Số Có Dấu Chấm Động.
+ Bước 3: Điền các bit vào các trường theo chuẩn:
Số âm: bit dấu S có giá trị 1.
Phần mũ E với số thừa K=127, ta có
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Việt Thao
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)