CẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐICẤU TRÚC MÁY TÍNH VÀ GHÉP NỐI
Trang 1CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1 Tổng quan về cấu trúc máy tính
1.2 Lịch sử phát triển của máy tính
1.3 Mô hình máy tính Von Neumann
1.4 Mô hình hệ thống bus
1.5 Mức máy tính
Trang 21.1 Tổng quan về cấu trúc máy tính
Cấu trúc máy tính bao gồm 2 khía cạnh:
• Cấu trúc tập lệnh: nghiên cứu máy tính theo cách
nhìn của người lập trình
• Tổ chức máy tính:nghiên cứu phần cứng máy tính
Cấu trúc tập lệnh thì thay đổi chậm, Tổ chức máy
tính thay đổi 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ùng chung cấu trúc tập lệnh (IA-32)
Có tổ chức khác nhau
3
1.2 Lịch sử phát triển của máy tính
(xem tài liệu)
• Các máy tính hiện nay được phân làm 3 loại:
Máy tính lớn (mainframe)
Máy tính nhỏ (minicomputer)
Máy vi tính hay máy tính cá nhân
Trang 31.3 Mô hình máy tính Von Neumann
• Mô hình Von Neumann: máy tính được tổ
chức theo nguyên tắc xây dựng các hoạt động
xảy ra nối tiếp nhau bao gồm 5 thành phần
Trang 41.5 Mức máy tính
7
1.6 Hệ thống máy tính điển hình
Trang 51.6.1.CẤU TRÚC BẢN MẠCH CHÍNH
• Bản mạch chính (mainboard)
Chứa đựng:
—bộ xử lý trung tâm CPU,
—hệ thống bus, bộ nhớ chính (ROM, RAM)
—Điều khiển điện áp cung cấp cho các linh kiện gắn chết
hoặc cắm rời trên Mainboard.
9
Trang 6Các thiết bị trên MainBoard
• CPU ( Center Processor Unit ) - Đơn vị xử lý trung tâm
• Mainboard có 2 IC quan trọng là Chipset cầu bắc và Chipset cầu nam ,
chúng có nhiệm vụ là cầu nối giữa các thành phần cắm vào Mainboard
như nối giữa CPU với RAM, giữa RAM với các khe mở rộng PCI v v
• ROM BIOS ( Read Olly Memory Base Input Output System -Bộ nhớ chỉ đọc
Lưu các chương trình vào ra cơ sở)
• RAM CMOS Là một chíp rất nhỏ nằm tích hợp trong Chipset cầu nam,RAM
CMOS được nuôi bằng nguồn Pin 3V vì vậy dữ liệu trong RAM CMOS
không bị mất khi tắt máy.
• Bus hệ thống: là tập hợp các đường dây dẫn song song để truyền dữ liệu
mà qua đó CPU có thể liên kết với các bộ phận khác Xét theo chức năng,
bus máy tính gồm 3 bus thành phần:
– Bus số liệu: để truyền tải số liệu
– Bus địa chỉ : để CPU định vị, chọn ô nhớ hay chọn thiết bị ngoại vi cần
Trang 7Các thiết bị trên MainBoard
13
Các bước thực hiện kiểm tra Mainboard
- Tháo tất cả các thiết bị ra khỏi Mainboard
kể cả RAM và CPU
-Cắm Card Test Main vào khe PCI
Cấp điện nguồn cho Mainboard và bật
công tắc Power
-Lúc này chỉ có dãy sáng, dựa vào các Led
cho ta biết tình trạng Mainboard như sau :
-Trạng thái bình thường
Các Led nguồn báo sáng, Led CLk báo
Trang 8* Nếu Mainboard kiểm tra ở trạng thái bình thường , ta lắp CPU và RAM
vào và bật nguồn kiểm tra lại
Tất cả các LED báo sáng, đồng hồ dừng lại ở FF cho thấy Mainboard và các
linh kiện đã hoạt động bình thường
Đèn BIOS và OSC không sáng cho thấy CPU chưa hoạt động, nếu đã thay CPU
tốt thì hư hỏng do mạch ổn áp nguồn cho CPU, hoặc thiết lập sai tốc độ BUS
cho CPU
Các LED báo sáng nhưng đồng hồ dừng lại ở C1 cho biết máy bị lỗi bộ nhớ,
có thể lỗi bộ nhớ RAM hoặc lỗi bộ nhớ Cache gắn trên Mainboard.
15
1.6.2 Bộ nguồn
• Chức năng: chuyển điện xoay chiều AC (alternative current)
110-220V thành điện một chiều DC (direct current) để cung cấp cho
các mạch điện tử bên trong máy và các thiết bị ngoại vi.
Trang 91.6.2 Bộ nguồn(tt)
• Dây màu cam là chân cấp nguồn 3,3V.
• Dây màu đỏ là chân cấp nguồn 5V
• Dây màu vàng là chân cấp nguồn 12V
• Dây màu xanh dương là chân cấp nguồn -12V
• Dây màu trắng là chân cấp nguồn -5V
• Dây màu tím là chân cấp nguồn 5VSB(nguồn cấp trước)
• Dây màu đen là Mass
• Dây màu xanh lá cây là chân lệnh mở nguồn chính
PS_ON(Power Switch On), khi điện áp PS_ON = 0V là mở,
PS_ON > 0V là tắt
• Dây mầu xám là chân bảo vệ Mainboard, dây này báo cho
Mainboard biết tình trạng của nguồn đã tốt PWR_OK(Power
OK), khi dây này có điện áp > 3V thì Mainboard mới hoạt động.
17
Trang 101.6.2 Bộ nguồn(tt)
Yêu cầu của bộ nguồn:
• Ổn định cao: cung cấp điện áp ổn định và đủ công suất trong
thời gian dài, nếu không sẽ gây lỗi (ví dụ ổ đĩa cứng)
• Làm nguội tốt: quạt thông khí của bộ nguồn là thiết bị làm
nguội chính cho máy vi tính (bản thân nguồn cũng không
được sinh nhiệt quá lớn)
• Hiệu suất cao: bộ nguồn trong các máy tính hiện đại được
trang bị bộ logic điều khiển thông minh, đưa nguồn điện vào
trạng thái nghỉ khi máy không được sử dụng (tiết kiệm năng
Trang 11Câu hỏi chương 1
1 Chức năng của mainboard?
2 RAM CMOS là gì? ROM BIOS là gì?
3 Cấp vi chương trình là gì?
21
CHƯƠNG 2: BIỂU DIỄN DỮ LIỆU
2.1 Giới thiệu chung
2.2 Số dấu phẩy tĩnh
2.3 Số dấu phẩy động
2.4 Mã ký tự
Trang 122.1 Giới thiệu chung
• Làm thế nào mà máy tính có thể xử lý được
tất cả các loại thông tin: như đồ họa, âm
thanh kỹ thuật số, các tác động từ chuột và
bàn phím ?
• Các thông tin đã được máy tính biểu diễn hay
mã hóa như thế nào ?
• Chương này sẽ giới thiệu một vài cách biểu
diễn thông tin phổ biến và quan trọng nhất là
số dấu phẩy tĩnh có dấu và không dấu, số thực
• Các số được biểu diễn bằng 3 số và có 1 dấu
phẩy đặt ở vị trí thứ 2 từ bên phải sang
• Phạm vi biểu diễn số của nó là các con số từ 0.00
đến 9.99 với mỗi bước nhảy là 0.01sai số được
tính là 0.01
Trang 13nằm ngoài phạm vi biểu diễn của hệ thống
nàyhiện tượng tràn số trong tính toán
Luật kết hợp đại số sẽ không được áp dụng cho các
Trang 14Ví dụ: chuyển số (23.375)10 sang cơ số 2
Trang 152.2.5 Phép toán cơ bản trong máy tính
• Phép toán cơ bản trong máy tính là phép
cộng Từ phép toán này, ta sẽ phát triển các
Trang 16Mối quan hệ giữa các phương pháp
31
Số dùng MSB làm bit dấu
• Dùng 1 bit có ở tận cùng phía trái làm bit dấu Giá trị
1 tương ứng với số âm
• Giá trị 0 tương ứng với số dương.
• Các con số còn lại trong chuỗi số biểu diễn độ lớn
của số theo mã nhị phân thông thường.
• Với cách biểu diễn này, chúng ta sẽ có 2 số mang giá
trị 0 là +0 và -0
• Với pp biểu diễn này thì khi thực hiện tính toán kết
quả thường sai.
Trang 17• Số bù 1: Cho 1 số ở hệ 2, tìm được 1 số để tổng số tìm
được với số đã cho bằng 1 ở tất cả các bit, số đó được
gọi là số bù 1
• Cách tìm: từ số nhị phân đã cho, lấy đảo tất cả các bit.
Ví dụ: cho số nhị phân 1000101 thì số bù 1 của nó là
- Biểu diễn số -13 dưới dạng nhị phân
- Biểu diễn số -97 dưới dạng số Hexa với 8 bit, 16 bit
33
• Số thừa (Excess): Số thừa được tạo ra bằng
cách xác định một giá trị thừa (hay còn gọi là
giá trị dịch chuyển gốc 0) để làm mốc giá trị 0
• Ví dụ: số thừa 128 của các giá trị +12 và -12 là:
+12 sẽ được tạo ra bằng cách (128 + 12= 140)
-12 sẽ được tạo ra bằng cách (128 - 12= 116)
Trang 182.2.7 Số BCD (Binary Coded Decimal)
• Để biểu diễn số âm trong mã BCD, ta có thể sử
dụng một trong hai phương pháp là mã bù 9 và
mã bù 10 Tổ hợp BCD cao nhất qui định dấu:
Số bù 10 được tạo thành = số bù 9 cộng thêm 1
đơn vị
35
2.3 Số dấu phẩy động
Khi cần biểu diễn và xử lý những phân số và những
số rất dài thì gọn hơn dấu phẩy tĩnh
• Khối lượng mặt trời:
Trang 19Chuẩn hóa:dấu phẩy được đẩy sang trái hoặc sang
phải và số mũ được điều chỉnh tương ứng cho đến
khi số đầu tiên về phía bên phải sau dấu chấm không
phải là một số 0
e
r a.
37
Biểu diễn số dấu phẩy động trong máy tính
- Bit dấu được đặt ở tận cùng phía bên trái
- Tiếp theo là 3 bit thể hiện số mũ, 3 bit này được biểu
diễn bằng mã thừa 4 với cơ số 16
- Tiếp theo là dấu phẩy đã được chuẩn hóa và 3 số hecxa
biểu diễn độ lớn của số.
• Ví dụ: chuyển đối số (358)10 sang số dấu phẩy động.
Trang 20Biểu diễn số dấu phẩy động theo
chuẩn IEEE 754
• Mục đích: để tất cả các máy tính có thể hiểu được
dữ liệu của nhau, và để tạo sự thống nhất cho các
lập trình viên khi xử lý dữ liệu việc đưa ra tiêu
chuẩn thống nhất là một tất yếu
• Chuẩn IEEE 754-1985 phân định 3 dạng số dấu
chấm động cơ bản: cơ số là 2, mã thừa 127
+ Số có độ chính xác đơn dài 32 bit
Trang 21Dạng 32 bit
41
Ví dụ 1
Trang 24Bài tập về nhà
• Biểu diễn các số thực sau về số dấu phẩy động
IEEE754 32-bit : X=-27.0625; Y=1/32
47
Dạng 64 bit
Trang 262.4.1 Mã ASCII
• Phương pháp biểu diễn này sử dụng 7 bit để
mã hóa ký tự, trong đó:
Các ký tự có mã từ 00 đến 1F và ký tự có mã 7F
là các ký tự điều khiển được sử dụng cho việc
truyền dữ liệu, điều khiển việc in ấn và một số
quá trình khác
Các ký tự có mã còn lại đều là các ký tự có thể
in được bao gồm các ký tự chữ cái, các con số,
các ký hiệu thông thường và khoảng trống
51
Mã ASCII
Trang 272.4.2 Mã EBCDIC
• Từ các mã 7 bit của mã ASCII, ta thêm vào đó 1 bit
0 hoặc 1 để mở rộng thành mã 8 bit, ta thu được
Trang 282.4.3 Mã Unicode
• Bảng mã ASCII và mã EBCDIC không thể biểu
diễn được tất cả các ngôn ngữ
• Một tiêu chuẩn mới được xây dựng để hỗ trợ
các ngôn ngữ trên toàn thế giới, đó là chuẩn
Trang 303.2 Phép nhân và chia với số dấu phẩy tĩnh
1 Phép nhân số không dấu
59
2.Phép chia số không dấu
Trang 313.Phép nhân và chia số có dấu
61
3.3.Phép toán với số dấu phẩy động
• Xem tài liệu
Trang 32CHƯƠNG 4: NGÔN NGỮ MÁY VÀ HỢP NGỮ
4.1 Tổ chức bộ nhớ trên máy tính
• Bộ nhớ của máy tính bao gồm một tập hợp
một số các thanh ghi được đánh địa chỉ, mỗi
địa chỉ có thể lưu trữ 1 byte
• Có 2 phương pháp chính để lưu dữ liệu vào
trong bộ nhớ:
thấp, được gọi là big-endian.
thấp, được gọi là little-endian.
63
Máy tính trong ví dụ này có không gian địa chỉ 32 bit, có nghĩa là
chương trình có thể truy cập vào bất cứ ô nhớ nào trong không
gian địa chỉ từ 0 đến 2 32 -1
Trang 33• CPU bao gồm các thanh ghi chứa, bộ ALU, và một
khối điều khiển được sử dụng để biên dịch các
lệnh và tác động đến các thanh ghi dịch chuyển
65
Các bước thực thi 1 lệnh (chu kỳ lệnh)
1 Tìm nạp chỉ thị kế tiếp từ bộ nhớ vào thanh ghi lệnh IR
2 Chuyển bộ đếm chương trình trỏ tới chỉ thị tiếp sau
3 Xác định loại chỉ thị vừa tìm nạp (giải mã)
4 Nếu chỉ thị sử dụng dữ liệu trong bộ nhớ, xác định nơi chứa
Trang 34Tập lệnh
• Tập lệnh là tập hợp các câu lệnh mà vi xử lý có
thể thực thi được, do đó nó phải được định nghĩa
bởi vi xử lý Tập lệnh cho mỗi họ vi xử lý là hoàn
toàn khác nhau
• Chương trình viết bằng ngôn ngữ cấp cao có thể
chạy được trên hầu hết các hệ thống vi xử lý khác
nhau nếu được biên dịch lại cho phù hợp với hệ
vi xử lý tương ứng
67
Phần mềm tạo ra ngôn ngữ máy
• Trình biên dịch (Compiler) là một chương trình máy tính
được sử dụng để chuyển một chương trình được viết
bằng ngôn ngữ cấp cao như C, Pascal, hay Fortran sang
ngôn ngữ máy.
• Ngôn ngữ cấp thấp thường được thảo luận nhiều nhất
là hợp ngữ Đây là loại ngôn ngữ mà chức năng của nó
tương đương với ngôn ngữ máy ngoại trừ việc nó sử
Trang 354.3.Máy tính ARC (A RISC Computer)
• Máy tính ARC là máy tính dựa trên công nghệ RISC
(Reduced Instruction Set Computer - máy tính dùng
tập lệnh rút gọn)
• Máy tính ARC là máy tính 32 bit có bộ nhớ đánh địa chỉ
theo byte, tức là máy xử lý các dữ liệu có độ rộng 32 bit,
nhưng dữ liệu được lưu trữ là dạng byte Đồng thời, độ
rộng của tín hiệu địa chỉ là 32 bit được đánh từ thấp đến
cao.
• Mỗi số nguyên được lưu trữ trong 4 byte trong bộ nhớ.
69
Các chức năng của CPU trong máy tính ARC
Máy tính ARC có 32 thanh ghi 32 bit đa mục đích, cùng
với PC (Program Counter) và IR (Instruction Register).
•Thanh ghi trạng thái vi xử lý PSR (Processor Status
Register) chứa các thông tin về trạng thái hoạt động của
CPU, bao gồm cả kết quả của phép toán trong ALU.
•Mỗi một lệnh được lưu trữ trên 1 word (32 bit)
•ARC là máy tính loại load-store tức là tại 1 thời điểm, nó
chỉ cho phép nạp một giá trị vào 1 thanh ghi hoặc lưu 1
giá trị vào một địa chỉ trên bộ nhớ Các toán hạng trước
và sau khi được xử lý bởi ALU đều được lưu trữ trên các
Trang 361 Tập lệnh của ARC
Nhóm lệnh dịch chuyển dữ liệu bao gồm 2 lệnh ldvàstlà 2 lệnh duy nhất
cho phép truy cập vào bộ nhớ hệ thống Lệnhsethisẽ định lại giá trị của 22
bit cao trong 1 thanh ghi theo một giá trị định trước.
Nhóm lệnh toán học và lệnh logic gồm các lệnhandcc, orcc, ornccđược sử
dụng để thực hiện các phép toán AND, OR, NOR theo từng bit của các toán
hạng Một trong 2 toán hạng bắt buộc phải là 1 thanh ghi.
Nhóm lệnh điều khiển bao gồm 2 lệnh chủ yếu là lệnh callvàjmpl Đây là
cặp lệnh được sử dụng để gọi chương trình con và nhảy từ chương trình con
trở về chương trình chính.
Những lệnh nhưbe, bneg, bcs, bvsvàbacòn có tên là nhóm lệnh rẽ nhánh.
Những lệnh này sẽ kiểm tra nội dung của thanh ghi trạng thái PSR và rẽ
chương trình sang các nhánh tương ứng…
71
Một vài lệnh cơ bản của ARC
Trang 372 Cú pháp lệnh của ARC
73
Các thanh ghi toán hạng nguồn và đích trong
ARC bao gồm 32 thanh ghi
Trang 38Ví dụ 1
75
Ví dụ 2: Chương trình tính tổng một chuỗi số nguyên
1 .begin ! Bắt đầu chương trình ASM
2 .org 2048 ! Chương trình bắt đầu tại địa chỉ 2048
3.mang_a: .equ 3000 ! Địa chỉ mảng a
4 ld [l ength ], %r1 ! Độ dài mảng a %r1
5 ld [ address ], %r2 ! Địa chỉ mảng a %r2
6 andcc %r3, %r0, %r3 ! 0%r3
7.loop: andcc %r1, %r1, %r0 !kiểm tra số phần tử còn lại
8 be nhan1 ! Nhảy đến nhan1 khi %r1=0
9 addcc %r1, -4, %r1 ! Giảm độ dài mảng a đi 1 ptử (-4byte)
Trang 393.Truy cập dữ liệu bộ nhớ - Các chế độ địa chỉ
• Chế độ địa chỉ tức thì cho phép truy xuất một hằng số trong một chu kz máy
• Chế độ địa chỉ trực tiếp được sử dụng để truy cập dữ liệu với địa chỉ đã biết
trước trong một chu kz máy
• Chế độ địa chỉ gián tiếp được sử dụng để truy cập vào một con trỏ của một
biến mà đã biết địa chỉ của biến đó
• Chế độ địa chỉ thanh ghi được sử dụng khi ta không biết địa chỉ của toán hạng
cho đến khi máy thực hiện lệnh.
• Chế độ địa chỉ chỉ số thanh ghi, chế độ thanh ghi cơ sở và chế độ thanh ghi
tương đối cơ sở chỉ số thường được sử dụng để truy cập vào các dữ liệu kiểu
mảng.
77
4.Các mối liên kết chương trình con và stack
a Liên kết thông qua thanh ghi
Trang 40b Liên kết thông qua dữ liệu
79
c Liên kết thông qua stack
Trang 41CHƯƠNG 5: NGÔN NGỮ BẬC CAO VÀ MÁY TÍNH
1 Quá trình biên dịch:
Chuyển câu lệnh từ ngôn ngữ bậc cao thành một đoạn chương trình
hợp ngữ.
• Quá trình phân tích ngôn từ
• Quá trình trên còn được gọi là phân tích cú pháp
• Quá trình phân tích tên biến
• Quá trình phân tích dạng dữ liệu
• Tạo bản đồ mã và tạo mã lệnh
• Quản l{ biến và quản l{ các thanh ghi
• Ví dụ: Câu lệnh trong ngôn ngữ bậc cao: A = B + 4;
Chương trình hợp ngữ tương ứng có thể là:
ld [B],%r0, %r1 ; Nạp nội dung của ô nhớ *B+ vào %r1
Trang 423 Quá trình chuyển sang ngôn ngữ máy
Một phần mềm assembler ít nhất phải có những khả năng sau:
• Cho phép ta xác định chính xác nơi lưu trữ dữ liệu và chương trình
tại thời điểm chạy chương trình
• Cung cấp phương tiện để ta khởi tạo giá trị dữ liệu trước khi chạy
chương trình
• •Cung cấp các phương án chuyển từ ngôn ngữ hợp ngữ sang ngôn
ngữ máy cho tất cả các lệnh hợp ngữ và ở tất cả các chế độ địa chỉ.
• •Cho phép sử dụng các nhãn biểu tượng để biểu diễn địa chỉ và hằng
số
• •Cung cấp khả năng cho người lập trình xác định địa chỉ bắt đầu của
chương trình
• •Có cơ chế cho phép sử dụng các biến được định nghĩa trong 1
chương trình này được sử dụng trong một chương trình độc lập
khác
• •Cung cấp khả năng thực hiện chương trình con 83
Chương 6: Điều khiển luồng dữ liệu
I Cơ sở vi kiến trúc.
Các chức năng của vi kiến trúc xoay quanh việc giải
mã-thực thi lệnh Các bước để mã-thực thi một chu kz lệnh là
1 Nạp lệnh kế tiếp được thực thi từ bộ nhớ
2 Giải mã lệnh
3 Nạp các toán hạng từ bộ nhớ hay thanh ghi nếu cần
4 Thực thi lệnh và lưu kết quả
Trang 43Vi kiến trúc điều khiển việc nạp lệnh kế tiếp sẽ được thực thi vào
vi xử lý, kiểm tra các lệnh đó, nạp các toán hạng nếu cần, thực thi
lệnh, lưu kết quả và lặp lại quá trình.
85
II Cấu trúc vi chương trình
Cách tiếp cận bộ điều khiển Control Unit bằng phần
mềm, hay còn được gọi là cấu trúc vi chương trình
Cấu trúc vi chương trình bao gồm:
• 32 thanh ghi mà người dùng nhìn thấy được (%r0
đến %r31),
• thanh ghi đếm chương trình (%pc)
• thanh ghi con trỏ lệnh (%ir)
• khối ALU
• 4 thanh ghi đệm mà người dùng không nhìn thấy