Máy tính và phân loạia Máy tínhComputer: là thiết bị điện tử thực hiện các công việc sau: trong bộ nhớ để yêu cầu máy tính thực hiện công việc cụ thể được gọi làchương trình program Đ
Trang 1- -BÀI GIẢNG KIẾN TRÚC MÁY TÍNH
9/2012 Lưu hành nội bộ
Trang 21 Máy tính và phân loại 2
a) Máy tính(Computer) 2
b) Phân loại máy tính 2
2 Kiến trúc máy tính 5
a) Kiến trúc tập lệnh (Intruction Set Architecture): 5
b) Tổ chức máy tính (Computer Organization): 5
3 Sự tiến hóa của máy tính 6
Chương 2 9
1 Các thành phần của máy tính 10
a) Bộ xử lý trung tâm (CPU) 10
b) Bộ nhớ máy tính (Memory) 12
c) Hệ thống vào-ra (Input-Output) 13
2 Hoạt động của máy tính 17
a) Thực hiện chương trình 17
b) Ngắt 18
c) Hoạt động vào-ra 20
3 Liên kết hệ thống 21
a) Khái niệm chung về bus 21
b) Cấu trúc đơn bus 21
c) Phân cấp bus trong máy tính 23
Chương 3 24
1 Các hệ đếm cơ bản 25
a) Hệ thập phân 25
b) Hệ nhị phân 25
c) Hệ mười sáu (Hexa) 26
2 Mã hóa và lưu trữ dữ liệu trong máy tính 27
a) Nguyên tắc chung về mã hóa dữ liệu 27
b) Thứ tự lưu trữ các byte của dữ liệu 27
3 Biểu diễn số nguyên 27
a) Biểu diễn số nguyên không dấu 27
b) Biểu diễn số nguyên không dấu 28
c) Biểu diễn số nguyên có dấu 28
d) Biểu diễn số nguyên theo mã BCD 29
4 Thực hiện các phép toán số học với số nguyên 30
a) Phép cộng số nguyên không dấu 30
b) Phép đảo dấu 30
c) Cộng số nguyên có dấu 31
d) Nguyên tắc thực hiện phép trừ 32
5 Số dấu phẩy động 32
a) Nguyên tắc chung 32
b) Chuẩn IEEE 754 32
Trang 3Chương 4 36
1 Cấu trúc cơ bản của CPU 37
a) Nhiệm vụ và cấu trúc của CPU 37
b) Đơn vị số học và logic 37
c) Đơn vị điều khiển 38
d) Tập thanh ghi 39
2 Tập lệnh 43
a) Giới thiệu chung về tập lệnh 43
b) Các kiểu thao tác 44
c) Các phương pháp định địa chỉ (addressing modes) 46
3 Hoạt động của CPU 50
a) Chu trình lệnh 50
4 Cấu trúc chung của các bộ xử lý tiên tiến 52
a) Các đơn vị xử lý dữ liệu 52
b) Các đơn vị chức năng đặc biệt 52
c) Bộ nhớ cache 52
d) Đơn vị quản lý bộ nhớ 52
5 Kiến trúc Intel 52
a) Kiến trúc 16-bit (IA-16) 52
b) Kiến trúc 32-bit (IA-32) 52
Chương 5 54
1 Tổng quan về hệ thống nhớ 55
a) Các đặc trưng của hệ thống nhớ 55
b) Phân cấp hệ thống nhớ 55
2 Bộ nhớ bán dẫn 56
a) Phân loại 56
b) Tổ chức của chip nhớ 58
3 Bộ nhớ chính 59
a) Các đặc trưng cơ bản 59
b) Tổ chức bộ nhớ đan xen 59
4 Bộ nhớ đệm nhanh (cache memory) 59
a) Nguyên tắc chung 59
b) Các phương pháp ánh xạ địa chỉ từ bộ nhớ chính vào cache 61
c) Các thuật giải thay thế block trong cache 64
d) Phương pháp ghi dữ liệu khi cache hit 65
e) Cache trên các bộ xử lý Intel 65
5 Bộ nhớ ngoài 65
a) Các kiểu bộ nhớ ngoài 66
6 Hệ thống nhớ trên PC hiện nay 67
a) Bộ nhớ cache: tích hợp trên chip vi xử lý 67
b) Bộ nhớ chính: tồn tại dưới dạng các mô-đun nhớ RAM 67
c) ROM BIOS chứa các chương trình sau: 67
Trang 4Chương 6 68
1 Tổng quan về hệ thống nhập-xuất 69
a) Giới thiệu chung 69
b) Các thiết bị ngoại vi 69
c) Môđun vào-ra 70
d) Các phương pháp địa chỉ hóa cổng vào-ra 71
2 Các phương pháp điều khiển vào-ra 73
a) Vào-ra bằng chương trình 73
b) Vào-ra điều khiển bằng ngắt 74
c) DMA (Direct Memory Access) 76
d) Bộ xử lý vào-ra 78
3 Nối ghép thiết bị ngoại vi 79
a) Các kiểu nối ghép vào-ra 79
b) Các cấu hình nối ghép 80
4 Các cổng vào-ra thông dụng trên PC 80
Trang 81 Máy tính và phân loại
a) Máy tính(Computer): là thiết bị điện tử thực hiện các công việc sau:
trong bộ nhớ để yêu cầu máy tính thực hiện công việc cụ thể được gọi làchương trình (program)
Đưa thông tin ra
Hình 1.1 Quy trình thực hiện công việc máy tính
b) Phân loại máy tính
Phân loại truyền thống:
có 1 chip vi xử lý và một số thiết bị ngoại vi Thường dùng cho một người, cóthể dùng độc lập hoặc dùng trong mạng máy tính
PC Nó có thể thực hiện được các ứng dụngmà máy tính cỡ lớn thực hiện Nó
có khả năng hỗ trợ hàng chục đến hàng trăm người làm việc Minicomputer
Trang 9được sử dụng rộng rãi trong các ứng dụng thời gian thực, ví dụ trong điềukhiển hàng không, trong tự động hoá sản xuất.
Mini ở những thời điểm nhất định Supermini thường được dùng trong các hệthống phân chia thời gian, ví dụ các máy quản gia của mạng
hàng ngàn người sử dụng Thường được sử dụng trong chế độ các công việcsắp xếp theo lô lớn (Large-Batch-Job) hoặc xử lý các giao dịch (TransactionProcessing), ví dụ trong ngân hàng
Supercomputer: Đây là những siêu máy tính, được thiết kế đặc biệt để đạt tốc
độ thực hiện các phép tính dấu phẩy động cao nhất có thể được Chúng thường
có kiến trúc song song, chỉ hoạt động hiệu quả cao trong một số lĩnh vực
Phân loại máy tính hiện đại
Máy tính để bàn (Desktop Computers) : Là loại máy tính phổ biến nhất
PC) và máy tính trạm làm việc (Workstation Computer)
1981: IBM giới thiệu máy tính IBM-PC sử dụng bộ xử lý Intel 8088
68000
vụ)
Tốc độ và hiệu năng tính toán cao
Độ tin cậy cao
Giá thành: hàng chục nghìn đến hàng chục triệu USD
Được đặt trong thiết bị khác để điều khiển thiết bị đó làm việc
Trang 10 Ví dụ: Điện thoại di động, bộ điều khiển trong máy giặt, điều hoà nhiệt
độ, Router -bộ định tuyến trên mạng
Phân loại theo kiến trúc
Dựa vào kiến trúc của máy tính người ta cũng phân máy tính ra các loại khác nhaunhư sau:
Kiến trúc SISD (single instruction - single data, đơn dòng lệnh - đơn dòng dữliệu), sơ đồ như hình 1-2
Hình 1-2: Kiến trúc máy tính SISD.
Kiến trúc CIMD (Single Instruction Multiple Data, đơn dòng lệnh- đa dữ liệu),
sơ đồ như hình 1-3
Hình 1-3: Kiến trúc SIMD
liệu), sơ đồ như hình 1-4
Khối điều khiển Khối chấp hành
Trang 11Hình 1-4: Kiến trúc MIMD.
2 Kiến trúc máy tính
Kiến trúc máy tính bao gồm hai khía cạnh:
a) Kiến trúc tập lệnh (Intruction Set Architecture): nghiên cứu máy tính theo cách nhìn của người lập trình.
có thể thực hiện
Các kiểu dữ liệu: Các kiểu dữ liệu mà máy tính có thể xử lý
b) Tổ chức máy tính (Computer Organization): nghiên cứu cấu trúc phần cứng máy tính
Bộ xử lý trung tâm (CPU):Điều khiển hoạt động của máy tính và xử lý dữ liệu
dụng
bên ngoài
giữa các thànhphần với nhau
dữ liệuKhối điều khiển 1 Khối điều khiển n
Trang 12Hình 1.5 Sơ đồ cấu trúc cơ bản
Nhận xét: Kiến trúc tập lệnh thay đổi chậm, tổ chức máy tính thay đổi rất nhanh.
Ví dụ: Các máy tính PC dùng các bộ xử lý Intel 32-bit từ 80386 đến Pentium 4: có cùngchung kiến trúc tập lệnh (IA-32) nhưng có tổ chức khác nhau
3 Sự tiến hóa của máy tính
Chiếc máy tính điện tử đầu tiên là ENIAC được ra đời năm 1946, được chế tạo từ nhữngđèn điện tử, rơle điện tử và các chuyển mạch cơ khí
Lịch sử phát triển của máy tính điện tử có thể chia làm bốn thế hệ như sau:
- Thế hệ 1: (1945-1955) Máy tính được xây dựng trên cơ sở đèn điện tử mà mỗi đèntượng trưng cho 1 bit nhị phân Do đó máy có khối lượng rất lớn, tốc độ chậm và tiêuthụ điện năng lớn Như máy ENIAC có khối lượng 30 tấn, tiêu thụ công suất 140KW
Trang 13Hình 1.6 Máy tính ENIAC
- Thế hệ thứ 2: (1955-1965) Máy tính được xây dựng trên cơ sở là các đèn bán dẫn(transistor), máy tính đầu tiên thế hệ này có tênlà TX-0 (transistorized experimentalcomputer 0)
- Thế hệ thứ ba: (1965-1980) Máy tính được xây dựng trên các vi mạch cỡ nhỏ (SSI) và
cỡ vừa (MSI), điển hình là thế hệ máy System/360 của IBM Thế hệ máy tính này cónhững bước đột phá mới như sau:
+ Tính tương thích cao: Các máy tính trong cùng một họ có khả năng chạy cácchương trình, phần mềm của nhau
+ Đặc tính đa chương trình: Tại một thời điểm có thể có vài chương trình nằmtrong bộ nhớ và một trong số đó được cho chạy trong khi các chương trình khác chờ hoànthành các thao tác vào/ra
+ Không gian địa chỉ rất lớn
- Thế hệ thứ tư: (1980- ) Máy tính được xây dựng trên các vi mạch cỡ lớn (LSI) và cựclớn (VLSI)
+ Đây là thế hệ máy tính số ngày nay, nhờ công nghệ bán dẫn phát triển vượt bậc,
mà người ta có thể chế tạo các mạch tổ hợp ở mức độ cực lớn Nhờ đó máy tính ngày
Trang 14càng nhỏ hơn, nhẹ hơn, mạnh hơn và giá thành rẻ hơn Máy tính cá nhân bắt đầu xuấthiện và phát triển trong thời kỳ này.
+ Dựa vào kích thước vật lý, hiệu suất và lĩnh vực sử dụng, hiện nay người tathường chia máy tính số thế hệ thứ tư thành 5 loại chính, các loại có thể trùm lên nhaumột phần:
Trang 16 Điều khiển hoạt động của máy tính
Xử lý dữ liệu
Đơn vị điều khiển (Control Unit – CU): điều khiển hoạt động của máy tính
theo chương trình đã định sẵn
Đơn vị số học và logic (Arithmetic and Logic Unit – ALU):thực hiện các phép
toán số học và các phép toán logic trên các dữ liệu cụ thể
Tập thanh ghi (Register File - RF): lưu giữ các thông tin tạm thời phục vụ cho
hoạt động của CPU
Đơn vị nối ghép bus (Bus interface Unit - BIU):kết nối và trao đổi thông tin
giữa bus bên trong (internal bus) và bus bên ngoài (external bus)
Hình 2.1 Các thành phần cơ bản của CPU
Trang 17Hình 2.2 Bên trong CPU
1 Lấy lệnh kế tiếp từ bộ nhớ vào thanh ghi lệnh IR
2 Thay đổi bộ đếm chương trình PC để trỏ tới lệnh tiếp sau nữa
3 Xác định loại của lệnh vừa lấy (làm gì?)
4 Nếu lệnh sử dụng dữ liệu trong bộ nhớ thì xác định xem nó ở đâu
5 Lấy dữ liệu (nếu có) vào thanh ghi của CPU
(Clock) có tần số xác định.Tốc độ của bộ xử lý được đánh giá gián tiếpthông qua tần số của xung nhịp
Trang 18Mỗi thao tác của bộ xử lý cần kT0T0 càng nhỏ thì bộ xử lý chạy càng nhanh
2x109 Hz T0 = 1/f0 = 1/(2x109) = 0,5 ns
b) Bộ nhớ máy tính (Memory)
Hình 2.3 Bộ nhớ máy tính
Chức năng: lưu trữ chương trình và dữ liệu
Các thao tác cơ bản với bộ nhớ:
tiếp, tốc độ rất nhanh, dung lượng không lớn, sử dụng bộ nhớ bán dẫn:ROM, RAM
Các loại bộ nhớ trong:
Bộ nhớ chính
Trang 19Chứa các chương trình và dữ liệu đang được CPU sử dụng Tổ chứcthành các ngăn nhớ được đánh địa chỉ.Ngăn nhớ thường được tổ chứctheo byte Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ vật lýcủa ngăn nhớ luôn cố định
được kết nối với hệ thống dưới dạng các thiết bị vào-ra, dung lượng lớn,tốc độ chậm
Trang 20Hình 2.4: Cấu trúc cơ bản của hệ thống vào ra
Các thao tác cơ bản:
Vào dữ liệu (Input)
Ra dữ liệu (Output)
Các thiết bị ngoại vi (Peripheral Devices)
Chức năng: chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính Các loại thiết bị ngoại vi (TBNV) cơ bản: như thiết bị vào: bàn phím,chuột, máy quét …, thiết bị ra: màn hình, máy in …
Trang 21Hình 2.5 Tổ chức ma trận bàn phím
Hình 2.6 Ma trận ký tự trên màn hình
Trang 22Hình 2.7 Chế độ đồ họa
Hình 2.8 Máy inThiết bị nhớ: các ổ đĩa …
Trang 23Hình 2.9 Ổ cứngThiết bị truyền thông: MODEM …
một hoặc một vài cổng vào-ra (I/O Port) Mỗi cổng vào-ra được đánhmột địa chỉ xác định
Các TBNV được kết nối và trao đổi dữ liệu với máy tính thông qua cáccổng vào-ra
2 Hoạt động của máy tính
a) Thực hiện chương trình
Thực hiện chương trình là hoạt động cơ bản của máy tính
Máy tính lặp đi lặp lại hai bước: Nhận lệnh và thực hiện lệnh đây là chu trìnhlệnh
Trang 24Hình 2.10: Chu trình lệnhQuá trì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
• 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
Quá trình thự 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ệnthao 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ínhTrao đổ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ớicác dữ liệu
Điều khiển rẽ nhánhKết hợp các thao tác trên
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
b) Ngắt
Trang 25Khái niệm: Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực hiện đểchuyển sang thực hiện một chương trình khác, gọi là chương trình con phục vụ ngắt.Các loại ngắt:
Ngắt do lỗi khi thực hiện chương trình, ví dụ:tràn số, chia cho 0…
Ngắt do lỗi phần cứng, ví dụ: lỗi bộ nhớ RAM
Ngắt do môđun vào-ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu
Hình 2.11 Tiến trình ngắt
Xử lý ngắt tuần tự
Khi một ngắt đang được thực hiện, các ngắt khác sẽ bị cấm
Bộ xử lý sẽ bỏ qua các ngắt tiếp theo trong khi đang xử lý một ngắt
Các ngắt vẫn đang đợi và được kiểm tra sau khi ngắt đầu tiên được xử lý xongCác ngắt được thực hiện tuần tự
Xử lý ngắt ưu tiên
Các ngắt được định nghĩa mức ưu tiên khác nhau
Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi ngắt ưu tiên cao hơn xảy ra ngắtlồng nhau
Sau khi hoàn thành một lệnh, bộ xử lý kiểm tra tín hiệu ngắt
Nếu không có ngắt bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại
Nếu có tín hiệu ngắt:
Trang 26 Cất ngữ cảnh (các thông tin liên quan đến chương trình bị ngắt)
Thiết lập PC trỏ đến chương trình con phục vụ ngắt
Chuyển sang thực hiện chương trình con phục vụ ngắt
Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh và tiếp tụcchương trình đang bị tạm dừng
ngắt bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại
Nếu có tín hiệu ngắt:
quan đến chương trình bị ngắt)
Thiết lập PC trỏ đến chương trình con phục vụ ngắt
Chuyển sang thực hiện chương trình con phục vụ ngắt
Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh và tiếp tụcchương trình đang bị tạm dừng
Hình 2.12 Họat động ngắt
c) Hoạt động vào-ra
Hoạt động vào-ra: là hoạt động trao đổi dữ liệu giữa TBNV( Thiết bị ngọai vi)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
Trang 27 Môđun vào-ra trao đổi dữ liệu trực tiếp với bộ nhớ chính.
3 Liên kết hệ thống
a) Khái niệm chung về bus
phần của máy tính với nhau
Độ rộng bus: là số đường dây của bus có thể truyền các bit thông tin đồng thời(chỉ dung cho bus địa chỉ và bus dữ liệu)
Bus có đường tín hiệu Clock
Các sự kiện trên bus được xác định bởi xung nhịp Clock
Kết thúc một sự kiện này trên bus sẽ kích hoạt cho một sự kiện tiếp theo
b) Cấu trúc đơn bus
Bus địa chỉ
Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ hay cổng vào-ra
độ rộng bus địa chỉ là N bit: AN-1, AN-2, A2, A1, A0 dung lượng bộ nhớcực đại là 2N byte (còn gọi là không gian địa chỉ bộ nhớ)
Ví dụ: Bộ xử lý Intel Pentium có bus địa chỉ 32 bit không gian địa chỉ là 232byte =4 GB
các môđun nhớ và môđun vào-ra
Độ 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
Ví dụ: Các bộ xử lý Pentium có bus dữ liệu là 64 bit
Chức năng: vận chuyển các tín hiệu điều khiển
Trang 28 Các loại tín hiệu điều khiển: Các tín hiệu phát ra từ CPU để điều khiển môđunnhớ và môđun vào-ra Các tín hiệu từ môđun nhớ hay môđun vào-ra gửi đếnyêu cầu CPU.
Một số tín hiệu điều khiển điển hình
Các tín hiệu phát ra từ CPU để điều khiển đọc ghi:
Memory Read (MEMR): điều khiển đọc dữ liệu từ một ngăn nhớ có địa chỉ xácđịnh lên bus dữ liệu
Memory Write (MEMW): điều khiển ghi dữ liệu đến một ngăn nhớ có địa chỉxác định
I/ORead (IOR): điều khiển đọc dữ liệu từ một cổng vào-ra có địa chỉ xác địnhlên bus dữ liệu
I/O Write (IOW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu ra một cổng cóđịa chỉ xác định
Các tín hiệu điều khiển ngắt:
ngắt CPU để trao đổi vào-ra Tín hiệu INTR có thể bị che
Interrupt Acknowledge (INTA): tín hiệu phát ra từ CPU báo cho bộ điều khiểnvào-ra biết CPU chấp nhận ngắt để trao đổi vào-ra
Non Markable Interrupt (NMI): tín hiệu ngắt không che được gửi đến CPU
Reset: tín hiệu từ bên ngoài gửi đến CPU và các thành phần khác để khởi độnglại máy tính
Các tín hiệu điều khiển bus:
Bus Request (BRQ): hay là Hold: tín hiệu từ môđun điều khiển vào-ra gửi đếnyêu cầu CPU chuyển nhượng quyền sử dụng bus
chấp nhận quyền sử dụng bus.Lock: tín hiệu khóa không cho xin chuyểnnhượng 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
Trang 29 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.
môđun nhớ và các môđun vào-ra cũng phụ thuộc vào bộ xử lý
c) Phân cấp bus trong máy tính
Phân cấp bus cho các thành phần:
Phân cấp bus khác nhau về tốc độ
Bus bộ nhớ chính và các bus vào-ra không phụ thuộc vào bộ xử lý cụ thể
Bus của bộ xử lý (Front Side Bus -FSB): có tốc độ nhanh nhất
Bus đồ họa tăng tốc: nối ghép card màn hình tăng tốc
tốc độ trao đổi dữ liệu nhanh
USB (Universal Serial Bus): Bus nối tiếp đa năng
IDE (Integrated Driver Electronics): Bus kết nối với ổ đĩa cứng hoặc ổ đĩa CD,DVD
Trang 311 Các hệ đếm cơ bản
Một máy tính được chủ yếu cấu tạo bằng các mạch điện tử có hai trạng thái Vì vậy, rấttiện lợi khi dùng các số nhị phân để biểu diễn số trạng thái của các mạch điện hoặc để mãhoá các ký tự, các số cần thiết cho vận hành của máy tính Chương này chúng ta nghiêncứu các hệ thống số, chuyển đổi các hệ đếm về hệ nhị phân, cách mã hóa và lưu trữ dữliệu trong máy tính
Trang 32bằng bậc luỹ thừa của cơ số 2 Chấm cơ số được gọi là chấm nhị phân trong hệ đếm cơ số
2 Mỗi một con số nhị phân được gọi là một bit (BInary digiT)
Dùng n bit có thể biểu diễn được 2n giá trị khác nhau:
01234567
00000001001000110100010101100111
Trang 3389101112131415
10001001101010111100110111101111
2 Mã hóa và lưu trữ dữ liệu trong máy tính
a) Nguyên tắc chung về mã hóa dữ liệu
Mọi dữ liệu đưa vào máy tính đều được mã hoá thành số nhị phân
Các loại dữ liệu
Dữ liệu nhân tạo: do con người quy ước
Dữ liệu tự nhiên: tồn tại khách quan với con người
Dữ liệu số nguyên: mã hoá theo một số chuẩn qui ước
Dữ liệu ký tự: mã hoá theo bộ mã ký tự
b) Thứ tự lưu trữ các byte của dữ liệu
Bộ nhớ chính thường được tổ chức theo byte, độ dài từ dữ liệu có thể chiếm từmột đến nhiều byte nên cần phải biết thứ tự lưu trữ các byte trong bộ nhớ chínhvới các dữ liệu nhiều byte
Trang 34Power PC và Itanium ⇒ cả hai
3 Biểu diễn số nguyên
Có hai loại số nguyên:
a) Biểu diễn số nguyên không dấu
Dùng n bit biểu diễn số nguyên không dấu A: an-1an-2… a2a1a0 Giá trị của Ađược tính như sau:
Dải biểu diễn của A: 0 -:- 2n-1
Số 8 bit có giá trị :Biểu diễn được các giá trị từ 0 đến 255
Số bù một của A nhận được bằng cách đảo giá trị các bit của A
(Số bù hai của A) = (Số bù một của A) + 1
Trang 35 Biểu diễn số nguyên có dấu bằng mã bù hai
Dùng n bit biểu diễn số nguyên có dấu A: an-1an-2…a2a1a0
Qui ước: chọn bit có trọng số cao nhất (MSB) làm bit dấu
Với A là số dương: bit an-1 = 0, các bit còn lại biểu diễn độ lớn như số khôngdấu
Với A là số âm: được biểu diễn bằng số bù hai của số dương tương ứng, vì vậybit an-1 = 1
Dạng tổng quát của số nguyên A: a n-1 a n-2 …a 2 a 1 a 0
Giá trị của A được xác định như sau:
Dải biểu diễn: -2n-1 ÷ 2n-1-1
Số 8 bit có dấu có giá trị : -128 ÷ +127
Số 16 bit có dấu có giá trị : -32768 ÷ +32767
c) Biểu diễn số nguyên theo mã BCD
Số BCD được dùng để tính toán trên số thập phân trong hệ nhị phân
Số BCD là số viết theo hệ 16 nhưng giá trị tính theo hệ 10
Số 12BCD được viết trong hệ 2 là 0001 0010 nhưng có giá trị là 12 thay vì 18(1216= 1810)
Dùng 4 bit để mã hoá cho các chữ số thập phân từ 0 đến 9
thấp của mỗi byte
Ví dụ: Số 35 được lưu trữ 2 byte
1
12 n 2
i
i i
n
n a a
A
Trang 36 BCD gói (Packed BCD): Hai số BCD được lưu trữ trong 1 byte.
Ví dụ: số 35 được lưu trữ 1 byte:
0011 0101
4 Thực hiện các phép toán số học với số nguyên
a) Phép cộng số nguyên không dấu
không có nhớ ra khỏi bit cao nhất thì kết quả nhận được luôn luôn đúng (Cout
=0).Nếu có nhớ ra khỏi bit cao nhất thì kết quả nhận được là sai, ⇔có tràn nhớ
sai có tràn nhớ ra ngoài (Count =1)
Để có kết quả đúng ta thực hiện cộng theo 16-bit:
Trang 37Khi cộng 2 số nguyên có dấu n-bit không quan tâm đến bit Cout và kết quả nhận được
là n-bit Cộng 2 số khác dấu: kết quả luôn luôn đúng Cộng 2 số cùng dấu: Nếu dấukết quả cùng dấu với các số hạng thì kết quả là đúng Nếu kết quả có dấu ngược lại,khi đó có tràn xảy ra (Overflow) và kết quả là sai Tràn xảy ra khi tổng nằm ngoài dảibiểu diễn [-(2n-1),+(2n-1-1)]
Ví dụ cộng hai số nguyên có dấu không tràn
Trang 38Nguyên tắc chung: Floating Point Number biểu diễn cho số thực
Tổng quát: một số thực X được biểu diễn theo kiểu số dấu chấm động như sau:
của phần mũ E: e = E + 127E = e – 127 giá trị 127 được gọi là độ lệch (bias)m(23 bit) là phần lẻ của phần định trị M:M = 1.m
Công thức xác định giá trị của số thực:X=(-1)S*1.m*2e-127
Trang 39Giải:X = 83.7510 = 1010011.112 = 1.01001111 x 26
Ta có:S=0 vì đây là số dương
E=e-127= 6 e = 127+6=13310 =1000 01012
Vậy: X = 0100 0010 1010 0111 1000 0000 0000 0000
Các quy ước đặt biệt
Các bit của e bằng 0, các bit của m bằng 0, thì X= ± 0 x 000 0000 0000 0000 0000
0000 0000 0000 X = ± 0
Các bit của e bằng 1, các bit của m bằng 0, thì X= ± ∞ x 111 1111 1000 0000 0000
0000 0000 0000 X = ± ∞
Các bit của e bằng 1, còn m có ít nhất 1 bit bằng 1, thì nó không biểu diễn cho số nào
cả (NaN –not a number)
Giá trị biểu diễn 2-127
Dạng 64-bit
S là bit dấu e(11 bit) là mã excess-1023 của phần mũ E:E = e – 1023
m(52 bit) là phần lẻ của phần định trị M:
Giá trị của số thực:X = (-1)S*1.m*2e-1023
Dải giá trị biểu diễn: 10-308 đến 10+308
Dạng 80-bit
S là bit dấu e(15 bit) là mã excess-16383 của phần mũ E: E = e – 16383
m (64 bit) là phần lẻ của phần định trị M:
Giá trị của số thực: X = (-1)S*1.m*2e-16383
Dải giá trị biểu diễn: 10-4932 đến 10+4932
6 Biểu diễn ký tự
a) Bộ mã ASCII(American Standard Code for Information Interchange)
Do ANSI (American National Standard Institute) thiết kế
Bộ mã 8 bit có thể mã hóa được 28 =256 ký tự, có mã từ: 0016 ÷ FF16 , trongđó: 128 ký tự chuẩn, có mã từ 0016 ÷ 7F16 và 128 ký tự mở rộng, có mã từ
8016 ÷ FF16
Các ký tự chuẩn
26 chữ cái hoa ‘A’ đến ‘Z’ có mã từ 4116 đến 5A16 (65 đến 90)