Cấu trúc máy tính và lập trình hợp ngữ bài giảng dành cho sinh viên Đại học, Cao đẳng là bộ tài liệu hay và rất hữu ích cho các bạn sinh viên và quý bạn đọc quan tâm. Đây là tài liệu hay trong Bộ tài liệu sưu tập gồm nhiều Bài tập THCS, THPT, luyện thi THPT Quốc gia, Giáo án, Luận văn, Khoá luận, Tiểu luận…và nhiều Giáo trình Đại học, cao đẳng của nhiều lĩnh vực: Toán, Lý, Hoá, Sinh…. Đây là nguồn tài liệu quý giá đầy đủ và rất cần thiết đối với các bạn sinh viên, học sinh, quý phụ huynh, quý đồng nghiệp và các giáo sinh tham khảo học tập. Xuất phát từ quá trình tìm tòi, trao đổi tài liệu, chúng tôi nhận thấy rằng để có được tài liệu mình cần và đủ là một điều không dễ, tốn nhiều thời gian, vì vậy, với mong muốn giúp bạn, giúp mình tôi tổng hợp và chuyển tải lên để quý vị tham khảo. Qua đây cũng gởi lời cảm ơn đến tác giả các bài viết liên quan đã tạo điều kiện cho chúng tôi có bộ sưu tập này. Trên tinh thần tôn trọng tác giả, chúng tôi vẫn giữ nguyên bản gốc. Trân trọng. ĐỊA CHỈ DANH MỤC TẠI LIỆU CẦN THAM KHẢO http:123doc.vntrangcanhan348169nguyenductrung.htm hoặc Đường dẫn: google > 123doc > Nguyễn Đức Trung > Tất cả (chọn mục Thành viên)
Trang 1Ch ng 1 T NG QUAN V MÁY TÍNH ĐI N T 1.1 Gi i thi u
1.1.1 L ch s phát triển
1.1.1.1 Máy tính c khí
T xa x a con ng i đã luôn phải tính toán Để nh s gia súc trong đàn, ng i
ta đã đ m chúng và dùng s i dây có các gút các nút Để tính toán ng i Trung Hoa
đã s dụng bàn tính… Nhà khoa học thiên tài ng i Pháp Blaise Pascal năm 19 tu i (năm 1642) vì th ng cha (cha c a ông v n là m t nhân viên thu thu ) đã xây dựng
m t máy đầu tiên thực hi n công vi c tính toán Đây là thi t b hoàn toàn bằng c
khí s dụng các bánh răng Máy tính c a Blaise Pascal ch thực hi n đ c phép toán
c ng bằng cách ấn vào phím các con s và dùng m t tay quay Năm 1671 nhà toán học ng i Đ c Baron Gottfried Wilherm von Leibniz xây dựng m t máy c khí và hoàn thi n vào năm 1694 Chi c máy này không nh ng thực hi n phép tính c ng mà còn thực hi n đ c phép tính nhân bằng cách c ng và lần l c chuyển s Năm
1820 Chales Xavier Thomas đã phát triển chi c máy tính c thành công v mặt
th ng m i đầu tiên thực hi n đ c b n phép tính c ng tr nhân chia
Charles Babbage, giáo s toán học tr ng Cambridge c a Anh đ c nhi u
ng i gọi là cha đẻ c a Computer nh hai phát ki n vĩ đ i c a ông v 2 kiểu máy tính c khác nhau Ông đã thi t k và xây dựng máy sai phân (difference engine)
Nó giải đ c ph ng trình đa th c bằng ph ng pháp sai phân Năm 1834, Babbage thi t k và xây dựng máy phân tích (analytical engine) Máy phân tích có các thành phần c bản c a máy tính hi n đ i: Thành phần nhập (đầu đọc thẻ đục l ),
b đi u khiển dùng để đi u khiển hay lập trình cho b x lý B x lý (hay tính toán – calculator) B l u tr (b nh ), Thành phần xuất (in và đục l ) B tính toán có thể nhận các toán h ng t b l u tr , thực hi n phép toán c ng, tr , nhân hay chia chúng và trả k t quả v b l u tr Tuy nhiên chi c máy này c a Ông không thể hoàn thành vì kỹ thuật ch t o th i đó không cho phép Phát triển ti p theo c a máy phân tích là máy đa năng Máy đọc l nh t các thẻ đục l và thực thi chúng Bằng cách đục l m t ch ng trình khác trên thẻ nhập, máy phân tích có khả năng thực
hi n các tính toán khác Lập trình viên máy tính đầu tiên là Ada Lovelace đã t o ra
Trang 2phần m m cho máy phân tích
Vào nh ng năm 1930, Konrad Zuse xây dựng m t chu i các máy tính toán tự
đ ng bằng cách s dụng các r le t Sau đó, John Atanasoff và George Stibbitz đã thi t k các máy tính (calculator) Máy c a Atanasoff s dụng s nh phân và có các
tụ đi n làm cho b nh đ c làm t i theo chu kỳ Tuy nhiên, máy này b thất b i
do công ngh phần c ng không t ng x ng v i ý t ng thi t k
Năm 1944, Aiken hoàn tất máy tính Mark 1, có tất cả 72 t , m i t 23 s thập phân và có th i gian m t chu kỳ là 6 giây Vi c nhập và xuất thực hi n bằng các băng giấy đục l
l u tr m t s thập phân 10 ch s
Sau đó, John Von Neumann thi t k máy IAS dựa c s trên máy EDVAC, là
m t phiên bản nâng cao c a ENIAC Máy von Neumman có 5 phần c bản: b nh ,
đ n v s học và logic (ALU – Arithmetich Logic Unit), đ n v đi u khiển ch ng trình, thi t b nhập và thi t b xuất B nh có tất cả 4096 t , m i t l u tr 40 bit
M i t ch a 2 l nh 20 bit hay m t s nguyên có dấu 39 bit M i l nh 20 bit g m có
8 bit xác đ nh lo i l nh và 12 bit xác đ nh 1 trong 4096 t nh
Vào cùng th i gian c a máy IAS, các nhà nghiên c u MIT cũng đang xây dựng m t máy tính, máy Whirlwind 1 Nó có chi u dài t là 16 bit và đ c thi t k
để có thể đi u khiển v i th i gian thực
1.1.1.3 Máy tính transistor – th h th hai
Năm 1948, John Bardeen, Walter Brattain và William Shockley phát minh ra transistor đã làm cu c cách m ng trong lĩnh vực máy tính Máy tính transistor đầu tiên đ c xây dựng t i MIT, máy TX-0 (Transistorized experimental computer 0),
Trang 3có 16 bit, t ng tự nh Whirlwind 1
Năm 1961, máy tính PDP-1 xuất hi n có 4KB b nh , chi u dài t là 18 bit và khoảng th i gian c a m t chu kỳ là 5 µs Vài năm sau, PDP-8 ra đ i có 12 bit
nh ng giá thành rẻ h n PDP-1 rất nhi u (16.000 USD so v i 120.000 USD) PDP-8
có m t đ i m i đó là hình thành m t bus đ n gọi là omnibus trong đó bus là tập h p các dây n i song song dùng để k t n i các thành phần c a máy tính
Trong khi đó, IBM xây dựng m t phiên bản c a 709 bằng transistor, đó là máy tính 7094 có th i gian m t chu kỳ là 2 µs và b nh 32KB và chi u dài t là 36 bit Năm 1964, công ty CDC gi i thi u máy 6600 có t c đ nhanh h n 7094 do bên trong CPU có m t c ch song song CPU có vài đ n v thực hi n phép c ng, các
đ n v khác thực hi n phép nhân, phép chia và tất cả chúng đ u ho t đ ng song song V i m t công vi c, máy có khả năng thực thi 10 l nh đ ng th i
1.1.1.4 Máy tính IC – th h th ba
Vi m ch (IC – Integrated Circuit) đ c phát minh cho phép đặt vài chục transistor trong m t chip đ n Vi c này giúp cho các máy tính xây dựng trên IC tr nên nh h n, nhanh h n và rẻ h n so v i các máy tính transistor Lúc này, IBM gi i thi u m t sản phẩm đ n, máy System 360, đ c thi t k dựa trên các vi m ch Đ i
m i quan trọng trong 360 là khả năng đa lập trình (multiprogramming), có vài
ch ng trình trong b nh đ ng th i để khi m t ch ng trình đang ch xuất/nhập
d li u thì ch ng trình khác có thể tính toán M t đặc tr ng khác c a 360 là không gian đ a ch l n (th i điểm lúc đó), v i 224
byte nh (16 MB)
1.1.1.5 Máy tính cá nhân và VLSI – th h th t
Vào thập niên 80, vi m ch VLSI (Very Large Scale Integrate) có khả năng ch a vài chục ngàn, vài trăm ngàn và vài tri u transistor trên m t chip đ n đã đ c ch
t o Sự phát triển này dẫn đ n vi c sản xuất các máy tính nh h n và nhanh h n Do
đó, giá cả đã giảm xu ng đ n m c m t cá nhân có thể s h u m t máy tính Các máy tính cá nhân th ng dùng cho vi c x lý t , các bảng tính và các ng dụng
t ng h khác
Quy luật Moore: Năm 1965 Gordon Moore phát hiện ra một quy luật
quan trọng trong xu hướng phát triển của máy tính Ông nhận thấy trong
Trang 4vòng 18 đến 24 tháng thì năng lực tính toán, lưu trữ…của máy tính sẽ tăng gấp 2 lần Trong 26 năm con số tranzitor trong 1 con chip đã tăng hơn 3.200 lần (từ 2.300 tranzitor ở chip 4004 năm 1971 tăng lên hơn 7,5 triệu tranzitor trên Pentium II) Quy luật này trở thành cơ sở cho rất nhiều dự báo về hiệu suất của ngành công nghiệp máy tính
1.1.2 Phân lo i máy tính
Máy tính ngày nay có thể chia thành 5 lo i: Siêu máy tính, Mainframe, siêu máy tính mini, máy tính mini, máy tính cá nhân
Máy tính mini s dụng trong các ng dụng th i gian thực nh đi u khiển không
l u hay tự đ ng hóa Siêu máy tính mini dùng trong các h th ng chia sẻ th i gian, các máy ch Mainframe dùng trong các nhóm công vi c l n hay đòi h i c s d
li u l n, … Siêu máy tính đ c thi t k đặc bi t để cựa đ i hóa s các thao tác dấu chấm đ ng trong 1s (FLOP – floating point operations per second) Máy tính nào có
t c đ d i 1 GF/s thì không đ c xem là siêu máy tính
Máy tính cá nhân có thể chia ra làm 3 lo i: Máy tính để bàn, máy tính xách tay
và máy tính b túi
1.2 T ch c h th ng máy tính
1.2.1 S đ cấu trúc chung
1.2.1.1 Nguyên lý máy Von Neumann
Vào nh ng năm c a thập niên 40 c a th kỷ 20, máy tính đi n t s bắt đầu
đ c s dụng Có 2 dòng máy là máy Turing và máy Von Neumann
Đ i di n cho máy Turing có máy Colossus Máy này do Alan Turing thi t k nhằm thực hi n vi c giải mã các thông đi p đã mã hóa trong chi n tranh th gi i th
2 Vào năm 1943, Mauchley và Presper Eckert bắt đầu ti n hành xây dựng máy tính ENIAC (Electronic Numerical Integrator And Computer) ENIAC g m 1800 đèn
đi n t và 1500 r le, cân nặng 30 tấn, công suất tiêu thụ 140 KWh Nó có tất cả 20 thanh ghi, m i thanh ghi có thể l u tr m t s thập phân 10 ch s
Dòng máy tính Von Neumann đ c k th a và phát triển hầu h t các th h máy tính sau này Đ i di n cho máy Von neumann th i đó có máy IAS dựa c s trên máy EDVAC, là m t phiên bản nâng cao c a ENIAC Máy IAS có b nh g m
Trang 54096 word, m i word l u tr 40 bit M i word ch a 2 l nh 20 bit hay m t s nguyên có dấu 39 bit M i l nh 20 bit g m có 8 bit xác đ nh lo i l nh và 12 bit xác
đ nh 1 trong 4096 word nh Máy Von Neumman có 5 phần c bản: b nh , b s
học và logic (ALU – Arithmetich Logic Unit), đ n v đi u khiển ch ng trình, thi t
b nhập và thi t b xuất Hình 1.1 là s đ cấu trúc c a máy Von Neumann
Nguyên tắc ho t đ ng c a máy Von neumann:
- Ch ng trình đi u khiển và x lý d li u cũng đ c xem là Data và đ c l u
Thi b nhập (Input)
Thi t b xuất (Output)
Hình 1.1: Máy Von Neumman
Trang 61.2.2 Ch c năng c b n c a các b phận
-CPU (Central Processing Unit): Là b não c a máy tính bao g m 2 thành
phần đó là: b s học và logic (ALU) và b đi u khiển (CU):
Bộ số học và logic (Arithmetic and logic unit – ALU):
Hầu h t các ho t đ ng tính toán cuả máy tính đ c thực hi n t i b s học và logic Mọi phép toán s học và logic nh : c ng; tr ; nhân; chia hay so sánh 2 s
đ u đ c thực hi n t i ALU Không phải tất cả các toán h ng cần cho vi c tính toán phải trong b nh chính Vi x lý có nh ng phần t nh t c đ cao gọi là các thanh ghi (registers) Các thanh ghi dùng để l u gi nh ng toán h ng đ c dùng
th ng xuyên trong khi tính toán M i thanh ghi có thể l u gi m t word s li u
Th i gian truy xuất thanh ghi là t 5 đ n 10 ns (nhanh h n th i gian truy xuất b
nh chính)
- Bộ điều khiển (control unit - CU):
B đi u khiển có ch c năng thực hi n vi c ph i h p ho t đ ng c a tất cả các
b phận khác nh : B s học và logic, b nh , các thi t b ngo i vi…sao cho nh p nhàng, đ t hi u quả cao B đi u khiển m t mặt g i các tín hi u đi u khiển đ n các
b phận, mặt khác nó luôn luôn theo dõi tr ng thái c a các b phận đó để đ a ra
B nh trong ROM RAM
CPU
Giao ti p nhập Giao ti p xuất
Thi t b nhập -Bàn phím -Mouse -Máy quét
- đĩa
Thi t b xuất -Màn hình -Máy in -máy v
- đĩa
BUS h th ng
Hình 1.2: Sơ đ kiến trúc chung của máy vi tính
Trang 7nh ng tín hi u đi u khiển h p lý Ví dụ vi c chuyển s li u gi a b nh và các thi t
b ngo i vi phải đ c đi u khiển b i b đi u khiển B đi u khiển t o ra tín hi u
th i gian để các hành đ ng c a các b phận xảy ra đúng vào th i điểm mong đ i
Có thể nói rằng b đi u khiển là m t đ n v đ c lập và nó đi u khiển tất cả các b phận khác trong máy Trên thực t , m ch đi n cuả b đi u khiển đ c phân b đ n khắp n i trong máy M t tập h p các đ ng dây đi u khiển (control bus) mang các tín hi u th i gian Các tín hi u này dùng để đ ng b ho t đ ng cuả tất cả các b phận trong máy
ALU và b đi u khiển th ng là các thành phần có t c đ ho t đ ng nhanh
h n các thành phần khác n i v i máy tính Đi u này cho phép s dụng ch m t vi
x lý để đi u khiển m t s l n các thi t b ngo i vi có t c đ ho t đ ng khác nhau
B nh s cấp hay b nh chính (Main memory) có t c đ rất nhanh B nh chính bao g m m t s l n các ô nh bán dẫn M i ô nh ch a đ c m t bit thông tin Vi c đọc hoặc vi t thông th ng đ c ti n hành v i 1 nhóm ô nh gọi là t nh hay word nh (memory word) B nh chính đ c t ch c sao cho n i dung c a
m t word (n bit) có thể đ c truy xuất bằng l nh đọc hoặc vi t b nh S các bit trên m t word nh gọi là đ dài word (word length) c a máy tính Đ dài word c a các máy tính có thể là 8,16, 32 hoặc 64 bit
T ng s ô nh trên b nh gọi là dung l ng (capacity) b nh Dung l ng
b nh trong c a PC có thể là vài MB đ n hàng trăm MB Hi n nay đã là TB
Để có thể truy xuất t i mọi word nh trên b nh , m i word nh đ c gán m t
đ a ch (Address) riêng bi t Word nh trong b nh có thể đ c truy xuất bằng cách ch ra đ a ch và l nh đọc vi t t ng ng S li u đ c x lý theo m t word,
Trang 8b i c a word hoặc m t phần c a word Khi b nh đ c truy xuất, thông th ng
m t word c a s li u đ c đọc t b nh ra hoặc đ c vi t vào b nh
Ch ng trình phải nằm trên b nh khi đang thi hành L nh và s li u có thể
đ c vi t vào b nh hay đọc ra d i sự đi u khiển c a vi x lý Th i gian cần thi t
để truy xuất t i m t v trí nh trong b nh gọi là th i gian truy xuất b
nh (memory access time = Tacc) Các b nh có Tacc không phụ thu c v trí nh gọi là b nh truy xuất ngẫu nhiên (Random Access Memories = RAM) Tacc có giá tr vài chục ns (nano second) trong các máy tính hi n đ i
Mặc dù b nh chính rất quan trọng, nh ng giá thành l i quá cao Vì vậy ng i
ta dùng thêm b nh phụ (secondary memory) khi mu n l u gi m t l ng l n thông tin không s dụng th ng xuyên B nh phụ có thể là đĩa t (magnetic disks) hay đĩa quang (Compact Disc), băng t …
- Thiết bị nhập (input device)
Máy tính nhận thông tin đã đ c mã hóa thông qua thi t b nhập Quá trình này gọi là đọc s li u Thi t b nhập th ng dùng nhất là bàn phím (key board) Key board đ c n i sao cho khi m t phím đ c nhấn, ký tự hoặc s t ng ng đ c tự
đ ng chuyển thành mã nh phân và đ c g i trực ti p t i b nh hoặc vi x lý Có
m t s thi t b nhập khác nh : chu t (mouse), máy quét (scanner)
- Thiết bị xuất (output device)
Thi t b xuất làm vi c theo nguyên tắc ng c l i v i thi t b nhập Ch c năng
c a thi t b xuất là g i các k t quả đã đ c x lý ra ngoài M t s thi t b nh màn hình, máy in (printer), máy v …
Tóm l i, ho t đ ng t ng quát cuả m t máy tính có thể tóm tắt nh sau:
• Máy tính nhận thông tin d i d ng ch ng trình và s li u thông qua thi t b nhập Thông tin đ c l u gi trong b nh máy tính
• Thông tin đ c l u gi trong b nh đ c lấy vào ALU d i sự đi u khiển cuả ch ng trình T i ALU, thông tin đ c x lý
• Thông tin đã đ c x lý đ c đ a ra ngoài thông qua thi t b xuất
• Tất cả các ho t đ ng bên trong máy tính đ c ch dẫn b i b đi u khiển
Trang 9-Bus hệ thống: tập h p các đ ng dây kim lo i dẫn đi n để CPU có thể liên k t
Vi c chuyển s li u gi a b nh chính và vi x lý đ c bắt đầu bằng vi c vi x
lý g i đ a ch c a ô nh cần truy xuất và tín hi u đi u khiển h p lý t i b nh S
li u sau đó s đ c chuyển gi a b nh và vi x lý m t cách t ng ng
Cùng v i ALU và b đi u khiển, vi x lý còn có các thanh ghi dùng cho vi c
l u tr t m th i s li u Thanh ghi l nh (IR - Instruction Register) gi l nh đang
s li u cần chuyển (gi a Vi x lý và b nh ) Các b c ho t đ ng c bản khi thực
hi n 1 ch ng trình nh sau: Ch ng trình ch a trong b nh chính Vi c thực thi
ch ng trình bắt đầu khi PC ch t i v trí nh mà l nh đầu tiên c a ch ng trình
đ c l u gi N i dung c a PC đ c chuyển t i MAR và m t tín hi u đi u khiển đọc đ c g i t i b nh Sau th i gian cần cho vi c truy xuất b nh , n i dung c a
t (word) nh (l nh đầu tiên c a ch ng trình) đ c đọc vào MDR Ti p theo, n i dung c a MDR đ c chuyển đ n IR T i th i điểm này l nh đã sẳn sàng cho vi c giải mã và thực hi n N u l nh là m t phép toán mà ALU phải tính thì cần phải lấy
Trang 10các toán h ng cần thi t N u toán h ng đã có sẵn bên trong b nh (các toán h ng cũng có thể đ c ch a trong các thanh ghi dùng chung) thì nó phải đ c đọc vào ALU bằng cách g i đ a ch toán h ng t i MAR và kh i t o chu trình đọc (read cycle) Toán h ng sau đó đ c đọc t b nh vào MDR r i chuyển t i ALU Sau khi m t hoặc nhi u toán h ng đ c đọc theo cách này, ALU có thể thực hi n phép toán N u k t quả phép toán đ c l u tr trong b nh thì nó đ c g i t i MDR
Đ a ch ô nh t i đó k t quả đ c l u tr s đ c g i t i MAR và chu trình vi t (write cycle) s đ c bắt đầu Trong khi m t l nh đang đ c thực hi n, n i dung cuả PC s tăng lên sao cho nó ch t i đ a ch c a l nh k ti p Ngay sau khi l nh
hi n hành đ c hoàn tất, l nh m i s đ c lấy vào vi x lý để giải mã và thực hi n Cùng v i vi c chuyển s li u gi a b nh chính và vi x lý, máy tính truy xuất
s li u t các thi t b vào và g i k t quả đ n thi t b ra Do đó có m t s l nh máy cho phép chuyển s li u vào ra
Vi c thực hi n m t ch ng trình có thể b ngắt n u m t hoặc nhi u thi t b ngo i vi yêu cầu đ c phục vụ Tín hi u ngắt đ c t o ra b i các thi t b ngo i vi để yêu cầu vi x lý phải phục vụ chúng Ngắt cũng đ c t o ra b i l nh INT trong các
ch ng trình Vi x lý s cung cấp m t d ch vụ theo yêu cầu bằng cách thi hành m t
ch ng trình con phục vụ ngắt (Interrupt service routine) Tr c khi phục vụ ngắt,
tr ng thái bên trong c a vi x lý phải đ c cất gi vào b nh Bình th ng, n i dung cuả PC, các thanh ghi đa ch c năng và m t s thông tin đi u khiển phải đ c cất gi Khi ch ng trình con phục vụ ngắt k t thúc, tr ng thái c a ch ng trình chính s đ c phục h i sao cho ch ng trình chính đã b ngắt có thể ti p tục
1.3 Gi i thi u t ch c bên trong c a máy vi tính
1.3.1 S đ
Hình 1.3 là s đ cấu trúc c a 1 máy vi tính
Trang 111.3.2 Cấu hình và các đặc tr ng kỹ thuật
Tuỳ theo công vi c mà ng i ta chọn máy tính có cấu hình phù h p M t máy tính th ng đ c chú ý b i các thành phần sau:
- Mainboard: Là lo i mainboard có chipset h tr các lo i CPU nào, t c đ
đ ng h máy là bao nhiêu?
- CPU: Các thông s th ng đ c chú ý: Hãng sản xuất, lo i CPU, cache n i,
- Bàn phím: Các thông s th ng đ c chú ý: Lo i bàn phím; Hãng sản xuất
- Chu t: Các thông s : Lo i chu t; hãng sản xuất
Hình 1.3: Sơ đ cấu trúc máy vi tính
B nh trong ROM BIOS
B n gu n
Trang 12Ch ng 2 C S S VÀ LOGIC 2.1 Các h th ng s dùng trong máy tính đi n t
Trong máy tính ng i ta th ng s dụng các h đ m sau:
- H hai (C s 2) hay còn gọi là h nh phân: Các con s c a h nh phân đ c
Các h đ m trên đ u là h đ m theo v trí dựa trên c s c a các ký s Giá tr
c a m t con s đ c biểu di n b i 1 dãy các ký s , trong đó giá tr c a 1 ký s tuỳ thu c vào v trí c a nó trong dãy
Công th c t ng quát tính giá tr c a 1 con s trong 1 h đ m:
Để phân bi t các s trong các h đ m, ng i ta quy c nh sau:
- Con s c a h thập phân k t thúc bằng D hoặc d hoặc có thể b qua
- Con s c a h nh phân k t thúc bằng B hoặc b
- Con s c a h thập lục phân k t thúc bằng H hoặc h
Máy tính s dụng hai tr ng thái ng v i 0 và 1, nh vậy để biểu di n 1 s cần quá nhi u ký s , cho nên ng i ta th ng dùng 1 ký s c a h thập lục phân để biểu
di n 1 nhóm 4 ký s c a h nh phân
Bảng t ng ng gi a nhóm 4 ký s c a h nh phân và h thập phân và h thập lục phân:
Trang 13Decimal Hexa Binary Decimal Hexa Binary
2.2 Biểu di n thông tin trong máy tính đi n t
Máy tính s (Computer) là m t m ng đi n ph c t p, ho t đ ng trên nguyên tắc
có hay không có dòng đi n ch y trong t ng đo n m ch trong m ng đi n đó D li u
đ c ghi nh bằng các m ch đi n có khả năng thể hi n m t s tr ng thái xác đ nh
M i m ch đi n nh vậy là m t tr ng thái nh căn bản S giá tr m t phần t nh căn bản có thể biểu di n cũng chính là s tr ng thái m ch đi n t o nên nó Do khả
năng ch t o m ch, hi n nay các phần t nh trên máy tính th ng đ c thi t lập t các m ch đi n có hai tr ng thái xác đ nh b i m c đi n áp cao và thấp T ng ng
v i hai tr ng thái c a m ch đi n, m i phần t nh mang m t trong hai giá tr là 0
hoặc 1 M t phần t nh nh vậy đ c gọi là 1 bit Bằng các thi t b đi n t ng i
ta có thể ch t o các m ch thực hi n các phép toán logic NOT, AND, OR, XOR v i bảng sự thật c a 2 phần t A và B có các tr ng thái 0 hoặc 1 nh sau:
Trang 14- Nhóm 8 bit đ c gọi là Byte
- Nhóm 16 bit đ c gọi là Word
- Nhóm 32 bit đ c gọi là double word (dword)
2.3 Các m ch đi n t s trong máy tính
2.3.1 B đ o pha
Ký hi u trên bản v cho b đảo pha nh hình 2.1 Trong đó hình a) có hình thù phân bi t, phần b) thể hi n các hình vuông góc
+ Dụng cụ ch th âm và ch th phân cực:
Dụng cụ ch th âm có hình bọt bóng ch sự đảo pha khi nó xuất hi n đầu vào
hoặc đầu ra c a phần t logic Đầu ra có bọt bóng có nghĩa là m c 0 đang ho t đ ng
hoặc tr ng thái đầu ra đ c xác nhận N u không có bọt bóng đầu vào hoặc đầu ra
có nghĩa là m c 1 đang ho t đ ng hoặc tr ng thái đ c xác nhận
Chi u phân cực hoặc dụng cụ ch th đ nh m c là 1 hình tam giác nh hình b
ch ra sự đảo pha khi nó xuất hi n đầu vào hoặc đầu ra Khi nó xuất hi n đầu vào có nghĩa là m c thấp đang ho t đ ng hoặc tr ng thái đầu vào đã đ c xác nhận Khi xuất hi n đầu ra thì có nghĩa là m c thấp đang ho t đ ng hoặc tr ng thái đầu
Trang 15Hình 2.3 cho thấy 1 ng dụng c a 1 b đảo pha thực hi n vi c lấy phần bù c a 1
s nh phân 8 bit Các bit c a s nh phân đ c đ a vào t i đầu vào và đầu ra ta s
có phần bù c a s nh phân đó
2.3.2 C ng AND
+ C ng AND đ c s dụng để thực hi n phép toán logic AND C ng AND có
thể có nhi u đầu vào và ch có 1 đầu ra Hình 2.4 là ký hi u c ng AND có 2 đầu vào
Hình 2.2: Bộ đảo pha với xung đầu vào xung và xung đầu ra
Trang 16+ Phép toán logic c a c ng AND: C ng AND t i đầu ra là m c cao (1) khi tất
cả đầu vào đ u là m c cao (1); trong tất cả các tr ng h p còn l i thì đầu ra là m c
thấp (0)
+ Bảng sự thật c a c ng AND 2 đầu vào:
+ C ng OR đ c s dụng để thực hi n các phép toán logic OR C ng OR có thể
có nhi u đầu vào nh ng ch có 1 đầu ra Hình 2.6 là ký hi u c a 1 c ng OR có 2 đầu vào
+ Các phép toán trên c ng OR: C ng OR có giá tr đầu ra là thấp (0) khi tất cả
tất cả các đầu vào là thấp; tất cả các tr ng h p khác đầu cho đầu ra là cao
Trang 17+ C ng NAND là vi t tắt c a Not AND và bao hàm m t hàm AND và m t đầu
ra bù C ng NAND có thể có nhi u đầu vào và ch có 1 đầu ra Hình 2.7 là ký hi u
c a c ng NAND 2 đầu vào
+ Các phép toán logic c a c ng NAND: C ng NAND có giá tr đầu ra m c
thấp khi tất cả các giá tr đầu vào là cao; trong tất cả các tr ng h p còn l i đầu ra
c a nó có giá tr cao
+ Bảng sự thật c a c ng NAND có 2 đầu vào: X = A.B
+ C ng NOR là vi t tắt c a Not OR; nó bao hàm 1 hàm OR và m t đầu ra bù
C ng NOR có thể có nhi u đầu vào, nh ng ch có 1 đầu ra Hình 2.8 là ký hi u c a
Trang 18+ Các phép toán logic c a c ng NOR: C ng NOR có giá tr đầu ra m c cao
n u tất cả các giá tr c a đầu vào đ u là thấp; trong tất cả các tr ng h p còn l i đầu
ra s có giá tr thấp
+ Bảng sự thật c a c ng NOR 2 đầu vào: X = AB
+ C ng OR-lo i tr (Vi t tắt là XOR) đ c dùng để thực hi n phép toán XOR
C ng XOR ch có 2 đầu vào và 1 đầu ra Hình 2.9 là ký hi u c a c ng XOR
+ Các phép toán trên c ng XOR: Đầu ra c a c ng XOR là cao n u t i 2 đầu vào
c a nó có giá tr đ i ngh ch nhau; trong các tr ng h p còn l i thì đầu ra c a nó có giá tr thấp
Trang 20+ 0 0 1 1 0 1 1 1 + 1 1 0 0 1 0 0 0
1 0 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1
Bit tràn 2.3.8.2 Phép tr nh phân
Trang 212.3.8.5 Biểu di n s nguyên và phân s :
+ S nh phân không dấu biểu di n cho các s nguyên l n h n 0 và 0 M t giá
tr n (n đ c tính t 0) bit biểu di n s nguyên không dấu là:
Xn*2n + Xn-1*2n-1+ ….+ Xo*20
V i Xn là 0 hoặc 1
+ S nguyên âm đ c biểu di n bit dấu cao nhất v i d ng bù 2
+ Phân s : M t phân s đ c coi là t s c a 2 s nguyên Máy tính biểu di n phân s bằng các s 0 và 1 bằng cách đặt bit bên trái nhất c a s biểu di n là 1/2,
ti p theo là 1/4, 1/8, 1/16,…Ví dụ để biểu di n phân s 0.1001 (Bit 0 đầu tiên cho
bi t là phân s d ng, ti p theo là 1/2+0/4+0/8+1/16 = 9/16)
2.3.8.6 Biểu di n s có dấu phảy (chấm) đ ng (Floating Point Number)
Để tính toán nh ng s l n và nh ng s quá bé ng i ta biểu di n s d i d ng:
N=M*BE (1) Trong đó:
M: là phần đ nh tr (Mantissa, Significand or fraction)
E: là s mũ (Exponent)
Trang 22Vi c làm cho m = n gọi là sự m r ng s (Scaling Number)
Nh vậy thì rất khó có thể đ t đ c đ chính xác đ i v i nh ng s quá l n hoặc quá bé Để giải quy t vấn đ này ng i ta dùng 2 kỹ thuật sau:
* Trên máy tính dùng m t ch ng trình con dấu chấm đ ng (Floating –point routines) để Scaling các s nhằm đ t đ c đ chính xác mong mu n Ch ng trình con này ch đ c s dụng trên các máy tính có các phép toán dấu chấm c đ nh (fixed-Point Operations)
* Thêm các phép toán dấu chấm đ ng (Floating –Point Operations) vào phần
c ng máy tính, m ch Logic c a máy tính s thực hi n Scaling tự đ ng và theo dõi
s mũ khi tính toán Để làm đ c đi u này ng i ta dùng h th ng s dấu chấm
đ ng (Floating Point System) S có dấu chấm đ ng trên máy tính dùng h s mũ
nh đã mô tả trên Trong khi tính toán máy tính theo dõi cả phần mũ lẫn phần
* Bit đầu tiên bên trái là Bit dấu S: Bit dấu bằng 0 là s d ng, bằng 1 là s âm
S Charateritics Fraction
Trang 23* Bit t 1 đ n 7 là phần đặc tr ng (Charateritics) gọi là C Giá tr c a C t 0 đ n
127
* Các bit 8 31 (Đ i v i máy có đ dài t (word) 32bit) hoặc 63 (Đ i v i máy
có đ dài t (word) 64bit) gọi là phần đ nh tr (phần sau dấu chấm)
- Giá tr bằng s trong h 10 đ c tính nh sau:
*B-5500 (c a Burroughs coporation)
* Floating Point for the 32 bit IBM System/370:
S (1bit) Exces- 64 Exponent (7bit) Fraction(24bit)
* IEEE (Institute of Electrical and Electronics Engineers)
- Single procision:
S (1bit) Exponent (8bit) Fraction(23bit)
-Double Procision:
S (1bit) Exponent (11bit) Fraction(52bit)
000(3bit) F(1bit) S(1bit) Exponent(6bit) M(ibit) Fraction(39bit)
Sign of the Exponent
Sign of the Fraction Flag: S dụng cho đi u khiển truy xuất
Ch kiểu d li u
Trang 242.4 C s logic trong máy tính
Phép c ng Boolean t ng đ ng v i phép toán OR (C ng OR), đ c biểu di n
bằng dấu c ng (+) gi a các toán h ng Quy tắc nh sau:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1 + Phép nhân Boolean:
Phép nhân Boolean t ng đ ng phép AND (C ng AND), đ c biểu di n bằng dấu chấm (.) gi a 2 toán h ng hoặc 2 toán h ng vi t li n nhau Quy tắc nh sau:
0 0 = 0
0 1 = 0
1 0 = 0
1 1 = 1 2.4.1.2 Các quy luật và quy tắc c a đ i s Boolean
a/ Các quy luật của đại số Boolean:
* Luật giao hoán:
Luật giao hoán c a phép c ng và phép nhân 2 bi n đ c thể hi n nh sau (Có
Trang 25- Luật giao hoán c a phép nhân
M ch logic biểu di n cho luật k t h p c a phép nhân 3 bi n
* Luật phân phối:
Trang 26b/ Các quy tắc của đại số Boolean:
Các quy tắc sau, các bi n A; B; C có thể đ i di n cho bi n đ n hoặc t h p cho
Trang 27Bi n A đ c AND v i chính nó thì luôn cho giá tr bằng chính nó M ch logic 2
đầu vào nh hình sau:
Quy tắc 8: A.A 0
Bi n A đ c AND v i phần bù c a nó thì luôn cho giá tr là 0 M ch logic 2
đầu vào nh hình sau:
Trang 28Quy tắc 9: A A
Bù 2 lần c a 1 bi n s bằng chính nó M ch logic cho m ch bù 2 lần nh hình sau:
Trang 29Quy tắc này có thể ch ng minh bằng cách dựa trên các quy tắc đã nêu trên
Đ nh lý 1: Ph n bù của 1 tích bằng tổng ph n bù của các biến trong tích đó
Nói cách khác, phần bù c a 2 hay nhi u bi n trong phép AND t ng đ ng v i phép OR c a các phần bù c a t ng bi n riêng lẻ
Công th c v i 2 bi n c a đ nh lý 1 nh sau:
B A B
Trang 30Đ nh lý 2: Ph n bù của 1 tổng các biến bằng tích các ph n bù của các biến trong tổng đó
Nói cách khác, phần bù c a 2 hay nhi u bi n trong phép OR t ng đ ng v i phép AND c a các phần bù c a t ng bi n riêng lẻ
Công th c v i 2 bi n c a đ nh lý 2 nh sau:
B A B
2.4.2.2 Đ n giản hoá và thi t kê m ch logic đ n giản
Để xây dựng 1 m ch logic theo 1 yêu cầu nào đó, các b c cần thực hi n nh sau:
1 Xác đ nh n i dung c a yêu cầu
2 Xây dựng bảng sự thật theo cách đã mô tả
3 Tìm biểu th c logic theo bảng sự thật B c này g m các b c sau:
- Vi t các s h ng AND ch a các bi n vào đ i v i các tr ng h p X = 1
- Các bi n đ i v i s h ng AND có thể d ng đảo hoặc không đảo tuỳ vào giá tr bằng 0 hoặc bằng 1
- Tất cả các s h ng AND đ c OR v i nhau để có đ c biểu th c c a X
- Đ n giản hoá biểu th c c a X
Trang 31Ví dụ 1: Cho biểu th c logic: (A )B C Hãy đ n giản hoá biểu th c và xây
dựng m ch logic
Ta có: (A )B C = (AB) C = (AB)C
M ch logic cho biểu th c:
Ví dụ 2: Cho biểu th c: (A+AB)C Hãy đ n giản biểu th c và xây dựng m ch logic cho biểu th c đã đ n giản đó
Ta có: (A+A.B).C = A.(1+B).C = A.1.C = A.C
Ví dụ 4: M t nhóm quy t đ nh g m 3 ng i Nhóm ng i này b phi u bí mật
để thông qua 1 vấn đ nào đó Vấn đ đ c thông qua n u s phi u quá bán Xây
dựng m ch logic cho tr ng h p trên
T yêu cầu trên ta có bảng sự thật nh sau:
Trang 32Đ n giản hóa biểu th c:
ABC + ABC + ABC + ABC = ABC + ABC + ABC + ABC + ABC +ABC
= BC(A+A) + AB(B+B) + AC(C+C)
= BC+AC+AB Hay: X = C(B+A)+AB
+ M ch logic ban đầu ch a t i u:
Trang 33+ M ch logic sau khi đã t i u:
Trang 34Ch ng 3: T CH C B X LÝ TRUNG TÂM 3.1 S đ kh i t ng quát c a b x lý trung tâm (CPU - Central Processing Unit)
CPU c a m t máy tính đ n giản có ba thành phần ch y u đó là: Tập thanh ghi,
b x lý s học và logic ALU (Arithmetic-Logic Unit) và b đi u khiển CU (Control Unit) Các thành phần này liên k t v i nhau thông qua h th ng BUS Các máy tính đ u có ch c năng thực hi n các phép tính s học, logic và các thao tác
Giải mã
l nh
ALU Out
Trang 35Shift M t s CPU có thể ch có m t đ n v ALU nh ng m t s CPU khác thì nó
đ c thi t k thành m t s đ n v ch c năng đ c lập Hình 3.1 mô tả m t CPU 8 bit
3.2 ALU (Arithmetic Logic Unit):
Hình 3.2 là s đ kh i c a 1 ALU đ n giản g m 1 đ n v Shift và 1 đ n v
Arithmetic and Logic và các c : C (Cary), V (Overflow, N (Negative), Z (Zero)
Đ n v ALU là m t trong nh ng thành phần chính bên trong CPU ALU ch a
kh i logic thực hi n x lý d li u ALU có 2 c ng vào (In) và 1 c ng ra (Out) C ng
vào để nhận t d li u vào ALU, c ng ra để lấy d li u đã đ c x lý ra ngoài Các
thanh ghi Temp1, Temp2 làm nhi m vụ nhận d li u t các n i khác nhau bên trong
CPU, thông qua bus d li u bên trong và l u tr trung gian d li u trong quá trình
x lý d li u trong ALU T ng tự, c ng ra k t n i v i bus d li u bên trong, do đó
Shifter
Control
Arithmetic and Logic circuiting Control
Multiplexor Control
Temponary Register
Control
C V N Z Flags Control
Control Signals from control Unit
Status signals to control Unit
ALU data Output bus
ALU Data Input bus
Trang 36k t quả phép toán có thể đ c đ a t i các n i khác nhau Thông th ng d li u
đ c g i t i b c ng (Accumulator) Ví dụ khi ALU c ng 2 toán h ng, m t toán
h ng có trong b c ng, toán h ng th 2 có thể trong thanh ghi nào đó hoặc đ c chuyển t ngăn nh bên ngoài CPU vào ALU, thông qua bus bên trong Các l nh máy đ c ALU x lý có thể là 1 hay 2 word (hai toán h ng) Có m t s l nh ch có
1 toán h ng Ví dụ l nh lấy mã bù nghĩa là ch cần s dụng 1 c ng vào c a ALU
L nh máy đ c đọc t b nh vào CPU, đ c giải mã t b giải mã l nh (Instruction decoder) để t o ra chu i các tín hi u đi t i ALU đi u khiển quá trình x
lý d li u trong ALU
ALU c a đa s các lo i vi x lý có thể thực hi n các ch c năng sau đây:
* AND (Và Logic) * Shift Left (D ch trái)
* Exclusive (Hoặc đảo) * Decrement (Giảm)
2.1.4 T ch c thanh ghi
Các thanh ghi bên trong b vi x lý 8 bit đ c chia thành các nhóm theo mục đích s dụng có thể chia thành 2 nhóm sau:
+ Nhóm thanh ghi dùng chung: G m các thanh ghi A (b c ng), B, C, D, E, H
và L Đây là các thanh ghi 8 bit Các phép tính v i các bytes d li u đ u có thể thực
hi n v i n i dung c a các thanh ghi này Để x lý 16 bit có các l nh thực hi n v i các cặp thanh ghi BC, DE và HL Cặp thanh ghi HL đ c dùng để ch a đ a ch ngăn nh đ i v i các l nh có truy nhập b nh Riêng thanh ghi A còn gọi là b
Trang 37Thanh ghi đ a ch (Memory Address Register – MAR) và thanh ghi nh đ m (Memory Buffer Register – MBR): Khi máy tính truy xuất b nh chúng gi đ a ch tham chi u trong thanh ghi MAR và gi d li u ghi/đọc trong MBR Ng i lập trình cũng không trực ti p can thi p vào 2 thanh ghi này nên nó cũng không đ c coi là m t phần c a tập thanh ghi c a máy tính
Ch c năng c a các thanh ghi nh sau:
Thanh tổng A (Accumulator):
Thanh t ng A tham gia vào phần l n các phép tính Đ dài c a thanh t ng bằng
đ dài t mà CPU x lý Nghĩa là n u CPU x lý 8 bit thì thanh t ng A có đ dài 8 bit Tuy nhiên m t s lo i CPU có thể có đ dài thanh t ng gấp đôi đ dài x lý
c a CPU hay còn gọi là thanh t ng đ dài kép Thậm chí m t s lo i CPU còn có nhi u thanh t ng Trong tr ng h p này phải có l nh ch cho b vi x lý chuyển k t quả tính c a ALU vào thanh t ng th nhất và m t l nh ch cho b vi x lý chuyển
d li u vào thanh t ng ti p theo T ng tự có l nh xóa d li u trên thanh t ng th nhất, có l nh xóa d li u trên thanh t ng th hai Nh ng l nh vào ra (I/O) v i ngo i
vi là nhóm l nh trao đ i d li u c a thanh t ng A v i các thanh ghi c a đi u khiển ngo i vi thông qua bus h th ng và bus d li u bên trong c a CPU L nh nhập d
li u IN port là l nh đọc d li u t c ng (Port) c a ngo i vi (đ a ch Port) vào thanh ghi A và l nh xuất OUT Port đọc n i dung thanh ghi A ra Port ngo i vi
Thanh đếm chương trình PC (Program Counter):
Thanh đ m ch ng trình có đ dài l n h n so v i đ dài t x lý c a CPU Các
b vi x lý th ng có PC dài 16 bit M t ch ng trình đ c b vi x lý thực hi n phải ch a trong b nh chính (Main Memory) Thanh PC ch a đ a c a ch l nh trong b nh và ch ra cho b vi x lý bi t l nh ti p theo nằm ngăn nh nào để lấy
ra thực hi n Nh vậy đ dài c a thanh PC chính là khả năng đánh đ a ch b nh chính có thể đ t đ c c a b vi x lý Ví dụ n u thanh PC có đ dài 16 bit thì ta có thể quản lý dung l ng 216bit = 64KB Nghĩa là có thể đánh đ a ch t 0 đ n 65.535 ngăn nh Nh vậy thanh PC luôn đ c n p đ a ch l nh (đ a ch ngăn nh ch a
l nh máy) ti p theo trong quá trình thực hi n bất kỳ m t ch ng trình nào L nh nào, nằm đâu tùy thu c vào trình tự thực hi n t ng ch ng trình Trong các b vi
Trang 38x lý công ngh cao có c ch quản lý b nh ảo ((Virtual Memory) B nh ảo bao
g m b nh chính và b nh ngoài C ch đánh đ a ch ảo có sự bi n đ i đ a ch ảo thành đ a ch vật lý (đ a ch thực c a b nh ), nh vậy n i dung c a đ a ch l nh s
ph c t p h n
Thanh ghi đ a ch ngăn nh (16 bit) và thanh đ m PC có đ dài gi ng nhau Thanh ghi đ a ch ngăn nh có k t n i v i bus đ a ch Đ a ch c a ngăn nh ch a
l nh đầu tiên c a ch ng trình là n i dung c a thanh PC đ c chuyển t i thanh ghi
đ a ch ngăn nh để ra bus đ a ch , nghĩa là trên bus đ a ch có đ a ch c a l nh đầu tiên tr ng thái tích cực B nh chính k t n i trên bus s nhận đ c các đ ng đ a
ch tích cực này, giải mã chọn đ c ngăn nh ch a l nh Quá trình ti p theo s là đọc l nh và thực hi n l nh
Thanh ghi trạng thái SR (Status Register)
Thanh ghi tr ng thái dùng để ghi k t quả c a các l nh kiểm tra, so sánh và m t
s l nh tính toán v i các thanh ghi Thanh ghi tr ng thái còn gọi là thanh ghi c (Flag Register) S dụng các bit c a thanh ghi tr ng thái (còn gọi là các bit c ) có thể thực hi n r nhánh ch ng trình bằng các l nh nhảy và r nhánh có đi u ki n Thanh ghi tr ng thái c a b vi x lý 8 bit ch có 8 bit M i bit c a thanh ghi này có
m t ý nghĩa và b tác đ ng tùy theo l nh
Con trỏ ngăn xếp SP (Stack Point)
Ngăn x p là b nh có c ch truy cập theo kiểu LIFO (Last In First Out), nghĩa
là byte d li u nào ghi vào ngăn x p cu i cùng s đ c đọc ra đầu tiên Ngăn x p có thể là m t vùng nào đó c a b nh chính, hay là m t mảng thanh ghi riêng bi t Ngăn x p luôn đ c truy cập đ nh (Top) Nó làm nhi m vụ l u tr nh ng thông tin phải dùng đi dùngl i nhi u lần trong quá trình thực hi n ch ng trình Các l nh tác đ ng đ n ngăn x p là nhóm l nh gọi (CALL) đ n ch ng trình con, nhảy tr l i
ch ng trình chính t ch ng trình con (RET), l nh ngắt (INT) và nhảy t ch ng trình x lý ngắt (IRET) Có các l nh chuyên dùng để cất gi n i dung các thanh ghi vào ngăn x p (vì sau đó phải dùng l i n i dung các thanh ghi đó) nh l nh (PUSH)
và l nh lấy ra n i dung các thanh ghi t ngăn x p (POP) Các l nh này luôn làm thay đ i đ nh c a ngăn x p Con tr ngăn x p SP ch a đ a ch c a đ nh ngăn x p và
Trang 39n i dung c a SP s thay đ i khi thực hi n các l nh v a nói trên, t c là nó luôn tr
đ n vùng nh ti p theo Khi kh i đ ng h th ng máy tính, con tr ngăn x p luôn
đ c kh i t o v đ a ch đ nh c a ngăn x p N u nó không đ c kh i t o ngăn x p
có thể là bất kỳ c a vùng nào c a b nh
Thanh ghi địa chỉ bộ nhớ logic (Memory address register and logic)
Thanh ghi đ a ch b nh có đ dài nh thanh ghi PC (16 bit), các đầu ra c a thanh ghi này đ c đi u khiển n i ra bus đ a ch c a h th ng máy tính để thực hi n chọn ngăn nh , hoặc để chọn c ng ngo i vi nào đó Trong chu kỳ đọc l nh, m t
l nh máy đ c đọc t b nh N i dung c a thanh ghi đ a ch ngăn nh và n i dung
c a thanh đ m l nh PC lúc này là nh nhau, nghĩa là thanh ghi đ a ch b nh tr t i
t (Word) l nh đang đ c đọc t b nh Thanh ghi đ a ch b nh không thể tự
đ ng tăng hay giảm n i dung mà nó nhận đ a ch l nh t PC, t SP và thanh ghi ch
s M t s l nh đặc bi t cho phép thi t lập trực ti p n i dung thanh ghi đ a ch b
nh Trong hầu h t các họ vi x lý 8 bit thanh ghi đ a ch b nh có đ dài 16 bit Tuy nhiên m t s vi x lý có thanh ghi này có đ dài 32 hoặc 64 bit
Thanh ghi lệnh IR (Instruction Register)
Thanh ghi l nh ch a l nh đang thực hi n Trong chu kỳ đọc mã l nh (Instruction Cycle) t b nh , mã l nh đ c n p vào thanh ghi l nh IR thôngqua bus d li u n i b Thanh IR đ c coi nh là b đ m duy trì n i dung mã l nh Đầu
ra c a thanh IR đ c đ a t i b giải mã l nh (Instruction decode) để t o ra các tín
hi u đi u khiển thực hi n l nh Đ dài c a thanh IR tùy thu c vào t ng b vi x lý, trong m t s lo i, đ dài c a nó bằng đ dài c a t (Word) x lý Cũng có thể dựa vào s l ng l nh c a tập l nh ta có thể đoán đ c đ dài c a thanh IR Vì 2N = S
l ng t i đa các l nh (Maximal Number of instruction), trong đó N = s bit c a IR Đôi khi đ dài c a thanh IR ch có t 3 đ n 4 bit
Các thanh ghi dữ liệu tạm thời Temp (Temporary data register)
Trong s đ cấu trúc b vi x lý các thanh ghi này có ký hi u là Temp1 và Temp2 ALU không có b đ m, do đó khi tính toán, các d li u phải đ c lấy t bus d li u hoặc đ a tr l i bus d li u bên trong theo th i điểm nh p nào đó
Nh ng vi c này n u thi u thanh ghi d li u t m th i s không thực hi n đ c
Trang 40Ngoài ra trong quá trình x lý cần sự n đ nh d li u đầu vào ALU, do đó cần có thanh ghi đ m để l u tr d li u trong th i gian ngắn để cho ALU thực hi n xong phép tính
3.4 Đ n v đi u khiển
Đ n v đi u khiển t o các tín hi u đi u khiển di chuyển s li u (tín hi u di chuyển s li u t các thanh ghi đ n bus hoặc tín hi u vi t vào các thanh ghi), đi u khiển các tác vụ mà các b phận ch c năng phải làm (đi u khiển ALU, đi u khiển đọc và vi t vào b nh trong ) đ n v đi u khiển cũng t o các tín hi u giúp các
l nh đ c thực hi n m t cách tuần tự
Vi c cài đặt đ n v đi u khiển có thể dùng m t trong hai cách sau: dùng m ch
đi n t hoặc dùng vi ch ng trình (microprogram)
3.4.1 Đi u khiển bằng m ch đi n t
Để hiểu đ c vận hành c a đ n v đi u khiển m ch đi n t , chúng ta xét đ n mô
tả v Automate tr ng thái h u h n: có nhi u h th ng hay nhi u thành phần mà
m i th i điểm xem xét đ u có m t tr ng thái (state) Mục đích c a tr ng thái là ghi
nh nh ng gì có liên quan trong quá trình ho t đ ng c a h th ng Vì ch có m t s
tr ng thái nhất đ nh nên nói chung không thể ghi nh h t toàn b l ch s c a h
th ng, do vậy nó phải đ c thi t k cẩn thận để ghi nh nh ng gì quan trọng u điểm c a h th ng (ch có m t s h u h n các tr ng thái) đó là có thể cài đặt h
th ng v i m t l ng tài nguyên c đ nh Chẳng h n, chúng ta có thể cài đặt Automate tr ng thái h u h n trong phần c ng máy tính d ng m ch đi n hay m t
d ng ch ng trình đ n giản, trong đó, nó có khả năng quy t đ nh khi ch bi t m t
l ng gi i h n d li u hoặc bằng cách dùng v trí trong đo n mã l nh để đ a ra quy t đ nh
Hình 3.3 mô tả nguyên tắc c a m t đ n v đi u khiển bằng m ch đi n Các
đ ng đi u khiển c a phần đ ng đi s li u là các ngã ra c a m t hoặc nhi u Automate tr ng thái h u h n Các ngã vào c a Automate g m có thanh ghi l nh, thanh ghi này ch a l nh phải thi hành và nh ng thông tin t b đ ng đi s li u
ng v i cấu hình các đ ng vào và tr ng thái hi n t i, Automate s cho tr ng thái
t ng lai và các đ ng ra t ng ng v i tr ng thái hi n t i Automate đ c cài đặt