Nội dung của cuốn giáo trình Kiến trúc máy tính (Nghề Tin học ứng dụng - Trình độ Cao đẳng) bao gồm: Chương 1: Giới thiệu chung; Chương 2: Hệ thống máy tính; Chương 3: Biểu diễn dữ liệu và số học của máy tính; Chương 4: Bộ xử lý trung tâm; Chương 5: Bộ nhớ máy tính. Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
Trang 1_ BQ GIAO THONG VAN TAI
TRUONG CAO DANG GIAO THONG VAN TAI TRUNG UONG I
GIAO TRINH MON
KIEN TRUC MAY T,
TRINH DQ CAO DANG
25/03/2019 của Hiệu trwong Truong Cao dang GTVT Trung wong I Ban hành theo Quyết định s6 498/QD-CDGTVTTWL-DT ngay
Trang 3TUYEN BO BAN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được
phép dùng nguyên bản hoặc trích dẫn dùng cho các mục đích về đào tạo và tham
khảo
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cam
Mã tài liệu: THUD - MH14
Trang 4
LỜI NÓI ĐẦU
Trong những năm gần đây, dạy nghề đã đào tạo và cung cấp nguồn nhân lực
dồi dào và có chất lượng cho sự nghiệp xậy dựng và phát triển đất nước Hòa
chung với dòng chảy đó quá trình phát triển của ngành tin học, tốc độ của máy
tính điện tử biến đổi rất nhanh chóng
Một trong những nhân tố quan trọng dẫn tới sự tăng tốc độ xử lý của máy tính là nhờ có sự phát triển của công nghệ điện tử Cùng với sự phát triển của các
mạch điện tử cầu tạo nên máy tính, kiến trúc máy tính cũng là một lĩnh vực hết sức quan trọng được nghiên cứu và đã đạt được nhiều thành tựu đáng kể Một trong
các kiến trúc khá nỗi tiếng và được áp dụng cho đến ngày nay là kiến trúc
Von Neumann - str dung kiến trúc đơn bộ xử lý Sau đó với nhu cầu tính toán đòi
hỏi tốc độ xử lý của máy tính càng ngày càng lớn, các nhà khoa học đã nghiên cứu và đưa ra các kiến trúc máy tính hiện đại như ngày nay Giáo trình này sẽ giới
thiệu các kiến thức và xu hướng nói trên
Đây là cuốn giáo trình cơ sở cho các học sinh - sinh viên ngành Tin học ứng dụng trình độ Cao đẳng- Trường Cao đẳng GTVT Trung ương 1 nên mục đích trước tiên của nó là trang bị cho các em những kiến thức cơ bản về kiến trúc máy
tính và hệ điều hành Những kiến thức này sẽ tạo cơ sở đề học tập tốt các môn học khác như Cơ sở đữ liệu, Mạng máy tính, Công nghệ phần mềm, Hệ thống thông
tin quản lý, Internet và Thương mại điện tử,
Nội dung của cuốn giáo trình này bao gồm:
Chương 1: Giới thiệu chung
Chương 2: Hệ thong máy tính
Chương 3: Biểu diễn dữ liệu và số học của máy tính Chương 4: Bộ xử ly trung tâm
Chương 5: Bộ nhớ máy tính
Mặc dù có rất nhiều cố gắng trong khi biên soạn, nhưng không thể tránh khỏi
những thiếu sót Rất mong nhận được sự góp ý và chia sẻ của các độc giả
Xin chân thành cảm ơn!
NHÓM BIÊN SOẠN
Trang 5
MỤC LỤC
CHƯƠNG I: GIỚI THIỆU CHUNG -. -:-22222222tttiierrreeeereeerrrrrrrrrrrrree.evÐ
1 Khái niệm chung - ¿6-5 5+2 22x 2x23 13 1211121111111 1111411111121 c1, 9 2 Phân loại máy tính
2.1 Phân loại theo phương pháp truyễn thong
9.2 Phân loại theo phương pháp hiện đqi - ©5555 5e 5ssxssseseeeeeeexseexeeesexee LÍ 3 Sự tiễn hóa của máy tính
3.1 Máy tính dùng đèn điện tử i (Eninac)
3.2 May tinh ding Transistor : 3.3 May tinh diing vi mach SSI, MSI v@ LSD scccccesesesesesesesesesesesssesesesesssesesssesearsesesrsseeesees LS 3.4 Máy tính dùng vỉ mạch: WL SĨ - + tt +*BtEx**EVEEESEEEEESEEEEESEErkkrkrkrkkrkrrrkrktrrer
CHƯƠNG II: HỆ THÓNG MÁY TÍNH
1 Các thành phần cơ bản của hệ thống máy tính 1.1 Bộ xử lý trung tâm (CPU: Central Processing nii) - +5+â<ô5<ô<<+<<<<-< 14 1.2 B nhớ máy tính
1.3 Các thiết bị ngoại vi ví (Periphrals)
2 Hoạt động của máy tính
QE TIROCHIEN CHHƠNG tIU,ccsseaseiaeanaanoikandinasitrassitrassEkr5SEEESE414545G0465503468550368Xã480424007968X6 17 2.2 NgắẮt (ÏHf€FTI|) 522 222v 2E 2112111112212 11.2 T111 ree
2.3 Hoạt động vào ra
3 Liên kết hệ thống
3.1 Thông tin các thành phân trong máy tính . -ccc::+ccccvcvsrseveesesrsxexeeereere v T8 3.2 Cấu trúc BUS lRSSEXIKESiEIKSSEGEE84510181316131486154416158816158118188115188818864115883115881401813n06068 6040271
3.3 Phân cáp BUS trong máy tỉnh 3.4 Phân xử bus CHUONG III: BIÊU DIỄN DỮ LIỆU VÀ SỐ HỌC MÁY TÍNH - -¿-5:-+ 24 1 Các hệ đếm cơ bản S4659580001358059151538315548653516335546388340391358453E4G/3EiGSS383430508stssgiasssvsaisse2 1.1 Hệ đếm cơ số 10 - Hệ lệ tập phân
1.2 Hệ đếm cơ số 2 hay Hệ nhị phân 5 1.3 Hé thap luc phan - Hé Hexa - decimal (Hé 16) c.cccececsesessseseceseseseveseseseseesesssseseassenees 29) 1 4 Cách chuyển đồ từ hệ cơ số a sang hệ thập phân -cc:++c55ccccscsrcrveeerrrrk
1.5 Cách chuyển đổi từ hệ thập phân sang hệ cơ số a
2 Mã hóa và lưu trữ dữ liệu trong máy tính
2.1 Nguyên tắc chung 18 TRL HG HE HEA guuggnsgasttagtidttsoggitgi8gai8aieuguuagng
2:9 Thứ tụ lưu trữ che byte Git liệu MT :;ccctgscaiigGtligstiigeiili64l084G8244ã863338gx6 31sgiảsẽ 28
3 Biểu diễn số THUÊ coiiisgii6i0i0660140GI4GGIGRIGRSRGRSRGaISHSSGSIOJGRGSGNRGGiãdgi2ueuquegt 28
Trang 6
3.1 Biểu diễn số nguyên không dấu
3 2 Biểu diễn số nguyên có dấu:
4 Thực hiện các phép toán số học với số TH PHẤT:;sz2s5s86x46b0y4DlGM A2001
4.1 Phép cộng và phép nhân
4.2 Phép trừ và phép chia: Được suy ra từ phép cộng và phép nhân
4.3 Phép đảo dấu ASL TAT
5 Số dầu chấm động (foes point —“ 35 SGHSGLDIGDHSGILXGAHSOAuWRUtwaasuasi>
6 Biểu diễn ký tự 6.1 Bộ mã ASCII
6.2 Bộ mã hợp nhất Unicode: 5
CHUONG IV: BO XU LY 40c n
1, Cấu trúc cơ bản của CPU
1.1 Nhiệm vụ CPU: Thực hiện lệnh của chương trình
1.2 Cấu trúc CPU
1.3 Đơn vị số học và logic (ALU) cssescsssesssssesssssessssiessssuesessuesessuesessuesessucsessseccssseecsssvecsssneeess O4
1.4 Đơn vị điều khiển CU 1.5 Tập thanh ghỉ 2.1 Giới thiệu chưng về tập lệnh -ccccce+5cvcxvesrttreerrtertrrrrrrrrrrrrrrrrrrvu, 2Ô 2.2 Các kiểu thao tác « _— oe
2.3 Cac phuong pháp đi định địa chỉ hi (Addressing Modes)
3 Hoạt động của CPU E29 1.16 n8 ốốốố ố 3.2 Đường ông lệnh 4 Cấu trúc chung của Bộ xử lý tiên tiến 4.1 Các đơn vị xử lý đữ liệu l3831434/00109⁄010 A,251-10:H-CIHENILsuerakrotritsssuattobiĐEiE10103900600011116001014701810066633400141000189411010714448361401400441200340)3/01130/ 6008 4 3 Đơn vị quản lý bộ nhớ 5 Kiến trúc INTEL
Trang 72.2 Bộ nhớ truy cập ngẫu nhién:RAM (Random access memory) 8; Bộ nhớ đệm chí Hiszereraognttriragiggttoaisaasnattiatnaguiia 3:ï Củe đạt trunB6 cỡ ĐẰÏisaoossssiadistsiaiiuagggdiliolitllolitlliillliiillgSiBillgBils:gsxs5:gspjkiguiase 3 2 Tổ chức bộ nhớ đanxen 4 Bộ nhớ đệm nhanh (Cache Memory) 4.1 Nguyên tắc chung
3;2 Củ bhiữïiB)DBMP0GNH Sã địa đĨT nuqqugSiigttugitilfgtgififiittfilfqxt@issa0kawäia 4.3 Các thuật giải thay thế block trong Cache
4.4 Phương pháp ghi dữ liệu khi Cache hit
4.5 Cache trên các bộ xử lý Intel 5 Bộ nhớ ngoài sen 3.1 Các kiểu bộ nhớ ngoài 3.2 Đĩa từ: 5.3 Đĩa quang (Optical Disk) (CD- ROM, DVD) :
6 Hệ thống nhớ trên máy PC hiện nay
CHƯƠNG VI: HỆ THỐNG VÀO RA
1 Tổng quan về hệ thống Le
1.1 Giới thiệu chung 1.2 Các thiết bị ngoại vi 1.3 Module vào ra os 1.4 Các phương pháp định địa chỉ hóa cổng vào - ra SPEXELSEESEE013006048040.8012A0000g reag)0/7! 2 Các phương pháp điều khiển vào ra 2.1 Vào - ra bằng chương trình 2.2 Vào - ra điều khiển bằng ngất
2.3 Truy nhập bộ nhớ trực tiếp - DMA (Direct Memory ACCeS§) cccc:-ccccccccecsccccvv 60
2.4 Bộ xử lý vào ra
3 Nối ghép thiết bị ngoại vi
3.1 các kiểu nối ghép VÀO F c:-2©2©vct2E 2t tt n1 H1 rey 61 3 2 Các cấu hình nối QNEp ecssssscsssesssrssessssuesssssesssssesssssesssssscsssssccsssscsssisessssscestiecesssneessnveesss 61
Trang 8CHƯƠNG I: GIỚI THIỆU CHUNG
Mục tiêu :
Sau khi học xong, người học có khả năng :
Trình bày được những khái niệm máy tính và các khái niệm cơ bản khác, lịch sử
phát triển của máy tính
- Nhận biết & ghi nhớ chính xác mô hình cơ bản phân lớp & cấu trúc cơ bản của
hệ thống
~ Rèn luyện tư duy và thái độ học tập nghiêm túc Nội dung :
1 Khái niệm chung
Máy tính (Computer) là thiết bị điện tử thực hiện công việc sau: - Nhận thông tin vào;
- Xử lý thông tin theo chương trình nhớ sẵn bên trong bộ nhớ máy tính; - Đưa thông tin ra;
Chương trình (Programs): Là dãy các câu lệnh nằm trong bộ nhớ, nhằm mục đích
hướng dẫn máy tính thực hiện một công việc cụ thể nào đó Máy tính thực hiện theo
chương trình
Phan mém (Software): Bao gồm chương trình và đữ liệu
Phan cing (Hardware): Bao gồm tất cả các thành phan vật lý cấu thành nên hệ thống
máy tính
Phân dẻo (Firmware): Là thành phần chứa cả hai thành phần trên
Kiến trúc máy tinh (Computer Architecture) dé cap dén cdc thudc tinh cua hé théng
máy tính dưới cái nhìn của người lập trình Hay nói cách khác, là những thuộc tính ảnh hưởng trực tiếp đến quá trình thực hiện logic của chương trình Bao gồm: tập lệnh,
biểu diễn dữ liệu, các cơ chế vào ra, kỹ thuật đánh địa chỉ,
TỔ chức máy tính (Computer Organization): đề cập đến các khối chức năng và
liên hệ giữa chúng để thực hiện những đặc trưng của kiến trúc
Ví dụ: trong kiến trúc bộ nhân: đây là thuộc tính của hệ thống xử lý Bộ nhân này
sẽ được tổ chức riêng bên trong máy tính hoặc nó được tính toán nhiều lần trên bộ cộng
để cũng được một kết qủa nhân tương ứng
Cau tric may tinh(Computer Structure): là những thành phần của máy tính và
những liên kết giữa các thành phần
Ở mức cao nhất máy tính bao gồm 4 thành phần: - Bộ xử lý : điều khiển và xử lý số liệu
- Bộ nhớ : chứa chương trình và dữ liệu
- Hệ thống vào ra : trao đổi thông tin giữa máy tính với bên ngoài
- Liên kết giữa các hệ thống: liên kết các thành phần của máy tính lại với nhau
* Mô hình phân lớp của hệ thống:
Trang 10
Chức năng (Computer Function): 1a mé tả hoạt động của hệ thống hay từng thành phan của hệ thống Chức năng chung của một hệ thống bao gồm: - Xử lý dữ liệu - Lưu trữ dữ liệu - Van chuyền đữ liệu - Điều khiển 2 Phân loại máy tính
Phân loại theo phương pháp truyền thống - May vi tinh ( Microcomputer)
~ Máy tính nhỏ (Minicomputer) ~ Máy tính lớn (Mainframe Computer) - Siéu may tinh (Super Computer) Phân loại theo phương pháp hiện đại
- May tinh để ban (Desktop Computer)
- May chu (Servers)
- May tinh nhting (Embedded Computer) 2.1 Phân loại theo phương pháp truyền thống
- Microcomputer: Còn gọi là PC (personal computer: máy vi tính), là những máy tính
nhỏ, 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
- Minicomputer: Là những máy tính cỡ trung bình, kích thước thường lớn hơn PC
Nó có thể thực hiện được các ứng dụng mà 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 được sử đụng rộng rãi
trong các ứng dụng thời gian thực, ví dụ trong điều khiển hàng không, trong tự động hoá
sản xuất
- Mainframe: Là những máy tính cỡ lớn, có khả năng hỗ trợ cho hàng trăm đến hàng
ngàn người sử dụng Thường được sử dụng trong chế độ các công việc sắp xếp theo lô
lớn (Large-Batch-Job) hoặc xử lý các giao dịch (Transaction Processing), ví dụ trong
ngân hàng
- Supercomputer: Day 1a nhitng 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 2.2 Phân loại theo phương pháp hiện đại
- May tinh dé ban:
+ Là loại máy tính thông dụng nhất hiện nay
+ bao gồm máy tính cá nhân (PC: Persional Computer) và máy trạm
(WorkStations Computer)
+ Giá mua từ 100$ đến 10008
Trang 11
- May chủ (Server):
+ Thực chất là máy phục vụ
+ Dùng trong mạng theo mô hình Client/Server
+ Có tốc độ, hiệu năng, Bộ nhớ và độ tin cậy cao + Giá vài chục nghìn đến vài chục triệu đô
~ Máy tính nhúng:
+ Được đặt trong nhiều thiết bị khác nhau dé điều khiển thiết bị làm việc
+ Được thiết kế chuyên dụng
+ Ví du; Điện thoại di động, bộ điều khiển các thiết bị gia đình: trong máy giặt,
điều hòa nhiệt độ, Rounter: Bộ Định tuyến trên mạng
+ Giá thành vài USD đến hàng trăm nghìn USD
3 Sự tiến hóa của máy tính
Sự phát triển của máy tính chia ra 4 thế hệ:
- Thế hệ 1: Máy tính dùng đèn chân không (Vacumm Tube) 1946-1955 - Thế hệ 2: Máy tính dùng Transitor (1955-1965)
- Thế hệ 3: Máy tính dùng mạch tích hợp IC (Intergrated Circuit) 1966 — 1980) - Thế hệ 4: Máy tính dùng mạch tích hợp cực lớn VLSI (Very Large Scale
Intergrated )1980 đến nay
3.1 Máy tính dùng đèn điện tử (Eninac)
Electronic Numerical Integrator And Computer
Đề xuất năm 1943 và hoàn thành 1946 được sử dụng đến1955 do thầy trò Eckert và
Mauchly Trường đại học Pennsylvania của Mỹ Đặc điểm chính: - Nặng 30 tấn, chiến diện tích 150m2 và sử dụng 140KW ~ 5000 nghìn phép cộng trên giây - Sử dụng hệ thập phân - Lập trình bằng công tắc
- Sử dụng 18000 bóng đèn điện tử (vacuum tubesa) Máy tính Von Neumann còn gọi là máy tính LAS
Máy tính IAS (Institute for Advanced Studies)
Máy có mô hình cơ bản là máy tính này nay
Thié kế 1947 hoàn thành 1952
Xây dựng dựa trên ý tưởng của Turring (Mỹ) và Von Neumann(Anh) - Các sản phẩm của công nghệ VLSI(Very Large Scale Integrated)
- BO vi xu ly được chế tạo trên một con chip
- Vi mạch điều khiển tổng hợp (Chipset)
- Bộ nhớ bán dẫn độc lập( ROM, RAM) thiết kế thành Module
- Các bộ vi điều khiển chuyên dụng
- Bộ vi xử lý đầu tiên của Intel 4004 năm1971
Trang 12
- Bộ xử lý được coi hoàn thiện nhất là 8088/8086 năm 1978,1979 đây được coi là
ngày sinh nhật của các máy tính sau này 3.2 Máy tính dùng Transistor
- May tinh PDP - 1 của DEC - IBM 7000 ra đời
- Hàng trăm nghìn phép cộng trên một giây - Các ngôn ngữ lập trình bậc cao ra đời 3.3 Máy tính dùng vi mạch SSI, MSI va LSI
- Vi mạch (IC - Intergrated Circuit) : Nhiều transistor và các phần tử khác được tích
hợp trên một chip bán dẫn
+ SSI (Small Scale Intergrated);
+ MSI ( Medium Scale Intergrated);
+ LSI (Large Scale Intergrated);
+ VLSI (Very large Scale Intergrated): Ding cho may tính thế hệ thứ tư - Siêu máy tính xuất hiện: VAX
- BO vi xu ly (Microprocesser) ra đời
+ Bộ xử lý đầu tiên là Intel 4004 (1971)
- Goordone more: người sáng lập ra Intel
- Số transistors trên chip sẽ tăng gấp đôi Sau 18 thang
- Giá thành của chip không hề thay đổi
- Mật độ cao hơn, do vậy đường dẫn ngắn hơn
- Kích thước nhỏ hơn dẫn đến độ phức tạp tăng lên
- Mức tiêu thụ điện năng ít hơn
- Hệ thống có ít các chip liên kết với nhau, đo đó tăng độ tin cậy
3.4, May tinh ding vi mach VLSI
Các sản phẩm của công nghé VLSI(Very Large Scale Integrated)
- Bộ vi xử lý được chế tạo trên một con chip
- Vi mach điều khiển tổng hợp (Chipset)
- Bộ nhớ bán dẫn độc lập( ROM, RAM) thiết kế thành Module - Các bộ vi điều khiển chuyên dụng Lịch sử phát triên máy tính thê hệ thứ 4: 1978 8086 (Intel) 1979 80286 (Intel) 1980 8088 (Intel) 1983 Pentium (Intel)
1997 Pentium II (Intel) Celeron 1999 Pentium III (Inte Celeron 2003 Pentium 4 (Intel) Celeron
Trang 13
CHƯƠNG II: HỆ THÓNG MÁY TÍNH
Mục tiêu:
Sau khi học xong, người học có khả năng:
- Trình bày đầy đủ các kiến thức về các thành phần cơ bản của hệ thống máy tính, các
hoạt động của máy tính và sự liên kết hệ thống
- Vẽ được các sơ đồ về hoạt động của máy tính, các liên kết trong hệ thống máy tính và các quy trình ngắt của máy tính
- Rèn luyện tư duy và thái độ học tập nghiêm túc Nội dung:
1 Các thành phần cơ bản của hệ thống máy tính
* Mô hình cơ bản của máy tính
Các mô hình máy tính hiện nay được thiết kế dựa trên kiến trúc Von Neumann
* Các đặc điểm kiến trúc của Von Neumann:
- Dữ liệu và chương trình chứa trong bộ nhớ đọc ghi
- Bộ nhớ được đánh địa chỉ cho các ngăn nhớ không phụ thuộc vào nội dung của
chúng
- May tinh thực hiện lệnh một cách tuần tự
* Cấu trúc cơ bản của hệ thống máy tính:
Memory
I/O Devices
- Bộ xử lý trung tâm (CPU): Điều khiển hoạt động của máy tính và xử lý số liệu - Hệ thống nhớ: chứa chương trình và đữ liệu đang được xử lý
- Hệ thống vào/ra (L/O: Input/Outpu0): trao đổi thông tin giữa bên ngoài và bên trong máy tính - Liên kết hệ thống (Interconnection): kết nối và vận chuyển thông tin giữa các thành phần với nhau 1.1 Bộ xử lý trung tâm (CPU: Central Processing Unit) - Chức năng:
+ Điều khiển toàn bộ hoạt động của máy tính;
+ Xử lý đữ liệu (vd: các phép toán số học và logic)
Trang 14
- Nguyên tắc hoạt động: CPU hoạt động theo chương trình nằm trong bộ nhớ chính
- Cấu trúc cơ bản CPU:
+ Đơn vị điều khiển (CU:Control Unit): Đ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 (ALU: Arithmetic And Logic Unit): thực hiện các phép toán số học và logic trên các dữ liệu cụ thể
+ Tập thanh ghi (RF: Register File): Lưu trữ 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(BIU: Bus Interface Unit: kết nối và trao đổi thông tin
giữa Bus bên trong và Bus bên ngoài CPU
+ Bộ vi xử lý hoạt động theo xung nhịp(clock) có tần số xác định
+ Tốc độ vi xử lý được đánh giá gián tiếp thông qua tần số xung nhịp
+ Gọi To : chu kỳ xung nhịp, fo =1/To tần số xung nhịp
+ Mỗi thao tác của bộ xử lý cần kT, To càng nhỏ thì bộ xử lý chạy càng nhanh + Ví dụ: Một máy tính Pentium 4 tốc độ 2GHz Ta có f,=2GHz=2.10° Hz; Tụ = 1/f, =1/2.10° = 0.5ns 1.2 Bộ nhớ máy tính a Chức năng: Lưu trữ chương trình và dữ liệu - Các thao tác cơ bản:
+ Thao tác đọc dữ liệu (Read); + Thao tác ghi dữ liệu (Write)
- Các thành phần chính
Trang 15- Chứa chương trình và dữ liệu đang được sử dụng bởi CPU
-_ Bộ nhớ chính được tổ chức thành các ngăn nhớ và được đánh địa chỉ
- Ngăn nhớ thường được tổ chức theo byte
- Nội dung của một ngăn nhớ có thể thay đổi nhưng địa chỉ vật lý của nó đã được đánh là không thay đồi
d Bộ nhớ dém nhanh(cache memory)
- Đây là bộ nhớ bán dẫn có tốc độ nhanh và chúng được đặt đệm giữa CPU và bộ nhớ chính nhằm tăng tốc truy xuất của CPU tới bộ nhớ chính
- Dung lượng nhỏ hơn rất nhiều bộ nhớ chính
- Tốc độ nhanh hơn rất nhiều lần
- Ngay nay Cache được tích hợp vào trong bộ vi xử lý và nó trong suốt với người sử
dụng
- Bộ nhớ Cache thông thường được chia ra thành 2 mức - Cache có thể có hoặc khơng
e Bộ nhớ ngồi(External memory):
- Chức năng và đặc điểm
+ Lưu trữ tài nguyên phần mềm Máy tính;
+ Được kết nối với hệ thống như thiết bị vào ra; + Dung lượng rất lớn (vài trăm GB);
+ Tốc độ chậm
- Các loại bộ nhớ ngoài
+ Bộ nhớ từ: Đĩa cứng, đĩa mềm, + Bộ nhớ quang: CD, VCD, DVD,
+ Bộ nhớ bán dẫn: flash Disk, memory Card, pen Disk,
# Hệ thống vào ra (Input/Output System)
- Chức năng: trao đồi thông tin giữa máy tính giới bên ngoài - Thao tac co ban
+ Vào đữ liệu (In); + Ra đữ liệu (Out)
- Các thành phần chính
+ Thiết bị ngoại vi (Peripheral Devices);
+ Cac Module I/O (IO Module)
* Câu trúc vào ra cơ bản:
Trang 16
sh soe BUS MAY TINH PORT VO Thiết bị ngoại vi 1 PORT /O Thiết bị ngoại vi 2 PORT I/O Thiét bi ngoai vin
1.3 Các thiết bị ngoại vi (Periphrals)
- Chức năng: chuyển đổi thông tin từ bên ngoài thành dữ liệu máy tính và ngược lại
- Các thiết bị ngoại vi cơ bản:
+ Thiết bị vào: bàn phím, chuột, + Thiết bị ra: máy in, màn hình, + Thiết bị nhớ: đĩa từ, quang,
+ Thiết bị truyền thông: Modem, - Module vao ra:
Chức năng: nỗi ghép thiết bị ngoại vi với máy tính
+Mỗi Module có 1 hay nhiều cổng vào ra
+ Mỗi cổng được đánh địa chỉ xác định
Các thiết bị ngoại vi được kết nối với máy tính thông qua cổng vào ra (ví dụ: COM,
LPT, USB, VGA ) 2 Hoạt động của máy tính 2.1 Thực hiện chương trình
a Nhận lệnh (Fetch)
- Bắt đầu mỗi chu kỳ lệnh là CPU tiến hành lấy lệnh từ bộ nhớ chính Trong quá trình
lấy và thực hiện lệnh có 2 thanh ghi CPU mà ta quan tâm đó PC (Program Counter)và thanh ghi IR(Instruction Register)
- Bộ đếm chương trình thanh ghi PC giữ địa chỉ của lệnh sẽ được nhận
- CPU lấy lệnh từ ngăn nhớ được ứrỏ bởi PC đưa vào thanh ghi lệnh IR lưu giữ
- Sau mỗi lệnh được nhận thì nội dung của thanh ghi PC tự động tăng đẻ trỏ tới lệnh
kế tiếp sẽ được thực hiện b Thuc hién (Execute):
- 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
Trang 17
- Thực hiện trao đổi giữa CPU và bộ nhớ chính - Thực hiện trao đổi giữa CPU và Module I/O
- Xử lý dữ liệu thực hiện các phép toán số học và logic
- Điều khiển rẽ nhánh
- Kết hợp các thao tác trên
Ví dụ: Sử dụng ngôn ngữ Assembly (Hợp ngữ): là sử dụng các tên có các biểu
tượng (gợi nhớ) để biểu diễn các thao tác, các thanh ghi và các ô nhớ:
Chỉ thị hợp ngữ Lời giải, lời bình
Chuyên (move) nội dung của ô nhớ A
MOV BoA vao thanh ghi AX
ADD AX, A Céng (Addition) 4 vao thanh ghi AX
Chuyén nội dung của thanh ghi AX vào MOV A, AX
OVA, từ ô nhớ A
Các chương trình viết bằng hợp ngữ phải được địch sang ngôn ngữ máy CPU có thể thực hiện được, chương trình dịch này được gọi là hợp dịch (Assembler) Chương
trình này sẽ dịch mỗi dòng lệnh ở hợp ngữ sang một chỉ thị của ngôn ngữ máy
2.2 Ngắt (Interrupt)
* Khái niệm chung về ngắt: Ngắt là cơ chế cho phép CPU tạm đừ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 thực hiện chương trình: chia cho 0
- Ngat do lỗi phần cứng: lỗi RAM
- Ngắt do module I/O phát ra tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu
* Hoạt động của ngất:
- 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 thì bộ xử lý tiếp tục nhận lệnh tiếp theo; - Nếu có tín hiệu ngắt:
+ Tạm đừng chương trình đang thực hiện Cất ngữ cảnh (Thông tin có liên quan đến chương trình đang thực hiện);
+ Thiết lập bộ đếm chương trình PC trỏ đến chương trình con phục vụ ngắt;
+ 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 lại ngữ cảnh và tiếp tục chương
trình đang bị tạm dừng
* Chu kỳ lệnh với ngất:
Trang 18
Bắt đầu Nhận lệnh Thực hiện lệnh Dừng Chương trình con phục vụ ngắt * Xử lý với lệnh ngắt:
- Cấm ngắt: Bộ xử lý bỏ qua các ngắt tiếp theo trong khi đang xử lý ngắt
- Các ngất vẫn đang đợi và được kiểm tra sau khi ngất đầu tiên được thực hiện xong - Các ngắt được thực hiện tuần tự nếu cùng thứ tự ưu tiên
- Các ngắt trong máy tính máy tính được định nghĩa mức độ ưu tiên khác nhau
- Ngắt có mức ưu tiên thấp có thể bị ngắt bởi ngắt có ưu tiên cao hơn Vì vậy có thể xảy ra tình trạng ngắt lồng nhau
2.3 Hoạt động vào ra
- Là hoạt động trao đổi dữ liệu giữa thiết bị ngoại vụ với bên trong máy tính
- Các kiểu hoạt động I/O: CPU trao đổi dữ liệu với Module vào ra Module vào ra
trao đổi trực tiếp với bộ nhớ chính 3 Liên kết hệ thống
3.1 Thông tin các thành phần trong máy tính * Kết nối Module nhớ bao gồm:
Trang 19
Module Nhớ Tín hiệu ĐK đọc Tín hiệu ĐK ghi
- Địa chỉ: Nhận địa chỉ để xác định ngăn nhớ - Dữ liệu: Truyền đữ liệu và nhận lệnh từ bộ nhớ
- Tín hiệu điều khiển: Bao gồm tín hiệu điều khiển đọc và tín hiệu điều khiển ghi * Kết nối Module I/O: Dữ liêu MT & TBNV > Module yo j= Tin hiéu DK doc Tin higu DK TBNV Tín hiệu DK ghi ¬ kk
——————‡ Tín hiệu yeu cau ngat >
- Địa chỉ: nhận địa chỉ đề xác định công vào ra
- Dữ liệu: nhận dữ liệu từ thiết bị ngoại vi, CPU hay bộ nhớ chính, đưa ra dữ liệu tới
thiết bị ngoại vi, CPU hay bộ nhớ chính
- Nhận các tín hiệu điều khiển từ CPU
~ Phát tín hiệu điều khiển đến Thiết bị ngoại vi
Trang 20- CPU phát địa chỉ đến bộ nhớ hay Module 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 Module nhớ hay Module vào ra - Nhận các tín hiệu ngắt
3.2 Cấu trúc BUS
- Khái niệm BUS: là tập hợp các đường đây dùng để vận chuyển thông tin từ thành
phần này tới thành phần khác bên trong máy tính
- Độ rộng của BUS: Là số đường dây có khả năng vận chuyền các bit thông tin đồng
thời
- Phân loại BUS: Theo chức năng ta chia BUS ra làm 3 loại: BUS dia chi, BUS div
liệu và BUS điều khiển
a Bus địa chỉ
- Chức năng: Dùng đề vận chuyên từ CPU đến các Module nhớ hay các Module vào
ra, nhằm để xác định ngăn nhớ hay cổng vào ra nào cần truy xuất trao đổi thông tin (Đây
là USB một chiều)
- Độ rộng của BUS địa chỉ : (Ao, At, , An)
Cho biết khả năng quản lý cực đại số các ngăn nhớ Nếu sử dụng độ rộng của Bus
địa chỉ n đường thì dung lượng cực đại của bộ nhớ có thể quản lý là 2” ngăn nhớ hay
tương ứng 2° byte nhớ (nếu mỗi ngắn nhớ 1 byte) Vi dụ: Bus địa chỉ của một số bộ VXL là - 8088/8086 n=20 2°° (IMB) - 80286 n=24 2 (16MB) - 80386 Pentium n=32 2” (4GB) - Pentium Il, ILIV n=36 2°° (64GB) b Bus dữ liệu Chức năng: vận chuyên lệnh từ bộ nhớ -> CPU, vận chuyển dữ liệu giữa CPU, bộ nhớ và cổng vào ra
Độ rộng của Bus dữ liệu (D0,DI, Dm-1)
Cho biết số byte có khả năng trao đổi ding thoi m=8,16,32,64,128 bit
Ví dụ:
8088 > m=8 8086 > m=16 80386 > m=32 Pentium -> m=64
c BUS diéu khién:
Tập hợp các tin hiệu điều khiển gồm có
- Các tín hiệu phát ra từ CPU để điều khiển Module nhớ và Module vào ra - Các tín hiệu từ Module nhớ, Module vào ra gởi đến CPU yêu cầu
- Ngoài ra là BUS cung cấp nguồn tín hiệu xung nhịp (clock) với các BUS đồng bộ - Một số tín hiệu điển hình
Trang 21
- Tin hiệu (MemR) điều khiển đọc dữ liệu từ bộ nhớ ngăn nhớ xác định (IOR) Tín hiệu đọc dữ liệu từ một cổng Vào ra
-_ Tín hiệu (MemW) điều khiển ghi dữ liệu có sẵn trên BUS dữ liệu đến một ngăn nhớ xác định Tín hiệu điều khiển (IOW) ghi dữ liệu có sẵn ra công
- Interrupt Request(INTR) tin hiéu yêu cầu ngắt từ các thiết bị ngoại vi Interrupt
Acknowlegde(INTA) tin hiệu chấp nhận ngắt phát ra từ CPU
- Ngoài ra còn có các tín hiệu khác như: th yêu cầu và chấp nhận CPU chuyển
nhượng BUS (BRQ,BGT),
Đặc điểm của cấu trúc đơn BUS:
-_ Có nhiều thành phần nối vào một BUS chung
- Tại một thời điểm chỉ phục vụ được một yêu cầu trao đồi dữ liệu
- Các thành phần nối vào BUS có thể có tốc độ khác nhau
- Cac module nhé va module vào ra phụ thuộc vào cấu trúc của CPU - Khắc phục:
+ Xây dựng cấu trúc đa BUS bao gồm các hệ thống BUS khác nhau về tốc độ
Trang 223.3 Phân cấp BUS trong máy tính
- Phân cấp Bus cho các thành phần: + Bus của bộ xử lý
+ Bus của bộ nhớ chính
+ Bus của các cổng vào ra
- 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ể
* Các Bus điển hình trong PC:
- Bus của bộ xử lý: có tốc độ nhanh
- Bus của bộ nhớ chính (Nối ghép với các module RAM):
- AGP bus (Accelerated Graphic Port): Bus đồ họa tăng tốc: nối ghép card màn hình
tăng tốc
- PCI bus (Peripheral Component Interconnection): Nối ghép với các thiết bị ngoại vi
có tốc đọ trao đổi đữ liệu mạnh
- USB (Universal Serial Bus): Bus ndi tiếp đa năng
- IDE (Intergrated Drivers Electronics): Bus kết nói voi 6 dia ctmg hoac 6 dia CD,
DVD
3.4 Phân xử bus
* Có nhiều hơn một module điều khiển bus, nhưng tại thời điểm duy nhất một
module có thể điều khiển bus -> cần phân xử bus * Sự phân xử bus có thể tập trung hoặc phân tán:
- Phân xử tập trung: Có một thiết bị phần cứng điều khiển sự truy nhập bus
+ Được gọi là Bộ điều khiển bus (Bus controller) hay trong tai bus (arbiter)
+ có thể nằm trên CPU hoặc tách riêng
- Phân xử phân tán: Mỗi modul có thể điều khiển bus, nhưng có sự điều khiển trên tất
cả các module
Câu hỏi ôn chương 2:
1 Đặc điểm kiến trúc Von Neumamn
2 Cấu trúc và chức năng cơ bản của hệ thống máy tính 3 Quy trình thực hiện chương trình trong máy tính
4 Ngắt là gì? Tại sao phải sử dụng ngắt trong hệ thống máy tính
Š BUS máy tính? Phân loại và chức năng BUS máy tính 6 Cấu trúc đa bus trong máy tính
Trang 23
CHƯƠNG III: BIEU DIEN DU LIEU VA SO HQC MAY TINH
Mục tiêu:
Sau khi học xong, hssv có khả năng:
- Trình bày được các dạng dữ liệu cơ bản được lưu trữ trong máy tính, các bước thực hiện
các phép toán biểu diễn số học ¬
- Thực hiện các bước biêu diễn sô học trong máy tính dưới dạng sô nhị phân, thập
phân, hecxa một cách thành thạo, chính xác
- Rèn luyện tư duy và thái độ học tập nghiêm túc
Nội dung:
1 Các hệ đếm cơ bản
- Hé thap phan (Decimal System): con người sử dụng - Hé nhi phan (Binary System): may tinh str dung
- Hệ thập lục phân (Hexadecimal System): dùng biểu diễn rút ngắn số học nhị
phân
- Cách chuyển đổi giữa các hệ đếm 1.1 Hệ đếm cơ số 10 - Hệ thập phân
- Sử dụng 10 chữ số : 0,1, 2, 3, 4, 5, 6, 7, 8, 9 để biểu diễn các số
- Vị trí của chữ số trong một số xác định giá trị hay trọng số của nó bằng cách nhân giá trị của chữ số với giá trị của trọng số
- Tổng quát: an 1,ân-2, âạ-a âiâo, 8-1, 8.m
- Vi du 1: Số 1989.23 cần được hiểu là một số có 6 chữ số có giá trị bằng:
=1* 10° +9 * 10° + 8*10' + 9*10°+2*10" + 3*107
Giá trị hàng T Ke ha
nghin =1 Trọng số của hàng
nghìn: 10°
+ Như vậy chữ số 1 ở hàng nghìn, 9 ở hàng trăm, 8 ở hàng chục, 9 ở hàng đơn vị,
2 ở hàng phan chục, 3 6 hang phan tram
Trang 241.2 Hệ đếm cơ số 2 hay Hệ nhị phân
- Don vi: BIT - Sử dụng 2 chữ số 0 và 1 * Ví dụ: Dãy chữ số 1000 1011 là dãy nhị phân 8 bít Giá trị của nó bằng bao nhiêu? Giải: N= 1000 1011= 1*27 + 0*2° + 0*2° + 0*2°+ 1*23+ 0*2?+ 1*2! + 1x20 = 1*274 1*23 + 1*2° = 137 * Cách đọc số nhị phân:
- Số 10 không được đọc là “mười” mà phải đọc là “* một - không”
- Số 10 trong hệ nhị phân có giá trị là hai - Tương tự: số 101 đọc là “ một - không - một” * Đơn vị Byte, Kilobyte (KB) và Megabyte (MB): - 1 Byte = 8bit - IKB = 2'°byte= 1024 Byte = 1024 B - IMB=2'°KB =2B - IGB =2'°MB =2°B 1.3 Hệ thập lục phân - Hé Hexa - decimal (Hé 16) - Dùng 16 ký tự để biểu diễn - Thường có 10 chữ số có sẵn là 0 đến 9 Dùng thêm: + A là chữ số biểu diễn số 10, + B là chữ số biểu diễn số 11, + C là chữ số biểu diễn số 12, + D là chữ số biểu diễn số 13, + E là chữ số biểu diễn số 14 và + F là chữ số biểu điễn số 15 - Ví dụ: Số nhị phân: 1100 0101 0111 1111 Được viết thành số Hexa là C5 7 F
Trang 257 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 Cc 13 1101 D 14 1110 E 15 1111 F
1 4 Cách chuyên đồ từ hệ cơ sô a sang hệ thập phân
- Tổng quát: Một số n trong hệ cơ số a ký hiệu Na
Nạy = bạbạ.¡, bịbọb.¡, Là số biểu diễn trong hệ cơ số a
Do vậy N có giá trị:
N= by, * a" + bai * a"! + +b,* a! + bot bata”
* Vi du: Số viết dưới dang hé nhi phan: 1011.01, (2 1a dién ta co sé 2) Hãy đổi số
trén sang hé thap phan
=1*2+ 0#2?+ 1#2' + 1*2"+ 0*2” + 1*27
= 1*8 + 0*4 + 1*2 + 1*1+0*1/2 + 1* 1/4
=8+24+14+040.25 = 11.25 uo)
1.5 Cách chuyển đổi từ hệ thập phân sang hệ cơ số a * Chuyển đổi Phân nguyên:
- Đem chia liên tục phần nguyên của N qø; (số N trong cơ số 10) cho a, ta được số dư
là bọ và thương là No
Nếu Nọ khác 0, thì ta lấy Nụ chia tiếp cho a được số dư bạ và thương Nị - Lần lượt làm như vậy cho đến khi thương số bằng 0
Trang 26- Trước hết ta hãy nhân phân thập phân với a, phần nguyên của tích nhận được sẽ là
b.¡ Nếu phần thập phân của tích khác 0, thì ta lại nhân phần thập phân của nó với a và lại được phần nguyên là b; Cứ tiếp tục quá trình như vậy cho tới khi phần thập phân của tích bằng 0 - Với phần thập phân của số N là: N=baa! + 4+b.ma™ Sau lần đầu tiên nhân với a, ta có: a.N=bi+baa'+ + bạn at 1
“Chính là phần nguyên sau khi thực hiện phép nhân lần thứ nhất” Ví dụ: Đỗi 0.6875 sang cơ số 2 Thực hiện phép nhân Kết quả Hệ số 06875 x2 1.3750 bi=l 03750 «x2 07S bạ=0 0.75 x2 15 b3=1 05 «<—x2 +10 by=1 Vay: 0.687519 = 0.10115
2 Mã hóa và lưu trữ dữ liệu trong máy tính
2.1 Nguyên tắc chung về mã hoá dữ liệu:
- Mọi dữ liệu được đưa vào máy tính đượ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 * Mã hoá đữ liệu nhân tạo:
- Dữ liệu số nguyên: mã hoá theo một số chuẩn đã qui ước
- Dữ liệu số thực: mã hoá bằng số dấu chấm động
Trang 27Các dữ liệu vật lý thông dụng:
+ Âm thanh
+ Hình ảnh
b Độ dài từ dữ liệu Word:
Là số bit được sử dụng dé mã hóa loại dữ liệu tương ứng
- Thường là bội của 8 bít - Vi du: 8, 16, 32, 64bit
2.2 Thứ tự lưu trữ các byte dữ liệu MT
- Bộ nhớ chính tô chức lưu trữ dữ liệu theo đơn vị byte
- Độ dài từ dữ liệu có thể chiếm từ 1 đến 4 byte Vì vậy cần phải biết thứ tự chúng lưu trữ trong bộ nhớ chính đối các dữ liệu nhiều byte
- Có hai cách lưu trữ được dua ra
+ Limle Endian (đầu nhỏ): Byte có ý nghĩa thấp hơn được lưu trữ trong bộ nhớ ở vị trí có địa chỉ nhỏ hơn + Big Endian (đầu to): Byte có ý nghĩa thấp hơn được lưu trữ trong bộ nhớ ở vị trí có địa chỉ lớn hơn - Vĩ dụ: lưu trữ một từ 32bit 0001 1010 0010 1011 0011 1100 0100 1101B 1A 2 B 3 Cc 4 Du
3 Biểu diễn số nguyên
Có hai loại : SỐ nguyên không dấu (Unsigned Interger) và số nguyên có dau (Signed Interger)
3.1 Biểu diễn số nguyên không dấu
- Nguyên tắc tổng quát: Dùng n bit biểu điễn số nguyên không dấu A:
n-Iần-2.- - 281 ag
Giá trị của A được tính như sau:
A= Sa 2
í=0 Dải biểu diễn của A từ 0 đến 2"†
Trang 28Cho các số nguyên không đấu M, N được biểu điễn bang § bit như sau: M=0001 0010 N =1011 1001 Xác định giá trị của chúng? Giải M=0001 0010 =2! +2! = 18 N=1011 1001 =2” +2Ÿ+2° +2? +2? = 128 +32 + ló+ 8 + 1= 185 3 2 Biểu diễn số nguyên có dấu: a Số bù một và số bù hai
Để biểu diễn các số nguyên có dấu, người ta quy định dùng bit ở hang dau bén trai
(Còn gọi là bit già nhất) làm bít đầu: bít 0 là số dương, bít I là số âm - Giả sử A là một số nhị phân, ta có: + Số bù một của A nhận được bằng cách đảo giá trị các bit của A: 0 thành 1, I thành 0 + Số bù hai của A = Số bù một của A + 1 - Ví dụ: Với n=8 bit Giả sử có A= 0010 0101 Số bù một của A = 1101 1010 + 1
$6 bi hai cua A= TIOT 1011
- Vì A + Số bù hai của A = 0 nên dùng số bù hai để biểu diễn cho số âm Ví dụ: Ta có số 7 là 0000 0111 Theo quy ước số nhị phân -7 (1111 1001) là số bù hai của 7 Kiểm chứng: 1111 1001 quy ước biểu diễn - 7 Đảo bít 0000 0110 + 1 ——— WW00IT - quay về số +7 ban đầu + Bây giờ làm phép cộng - 7 + 7 =0 1111 1001 + 00000111 = 100000000
Số 10000 0000 thừa ra một bit (số1) bên trái, bít này không được lưu giữ lại Vì ta
chỉ dùng § bít 8 bít được giữ lại là số có giá trị bằng 0 Vậy số bù hai biểu diễn số âm là hoàn toàn chính xác
b Biểu diễn số nguyên có dấu bằng mã bù hai
Trang 29
~ Nguyên tắc tổng quát:
Dùng n bit biểu điễn số nguyên có dấu A
An-1 n-2 A23i80
+ Với A là số dương: bit a„.¡ = 0, các bit còn lại biểu diễn độ lớn như số không dấu + Với A là số âm: bit a,¡ = 1, được biểu điễn bằng số bù hai của số dương tương ứng
* Biểu diễn số dương: - Dạng TQ của số đương A: - 0 an2 A;aia - Gia tri của sô dương A: A= Sa, 2 =0
- Dải biểu điễn số đương: từ 0 đến 2"" - 1
* Biểu diễn số âm: - Dạng TQ của số âm A: lan.2 42318o - Giá trị của số âm A: A=-2"" +3 a2! 0 - Dải biểu diễn số dương: từ -1 đến - 2"
* Ví dụ 1: Biểu diễn số nguyên có dấu sau bang 8 bit: A= +58; B=-80 A=+58 =0011 1010 B= -80 'Ta có +80 =0101 0000 Số bù một = 1010 1111 + 1 Số bù hai: = 1011 0000 = -80 Vay B= -80 = 1011 0000 * Ví dụ 2: Hãy xác định giá trị của các số nguyên có dấu được biểu diễn dưới đây: P=0110; Q=1101 1011 Giải: P=0110 0010 =0+ 25 + 2Ÿ +2! = 64+ 32 + 8= 98 = +98 (Theo quy định bít 0
đầu tiên bên trái là số đương)
Q= 1101 1011 (Theo quy định bít 1 đầu tiên bên trái là số âm) ta có:
Q=-27 +2"+2† +2?+2!+2?=-128 + 64+ 16+ 8+ 2 + I= -37
Trang 30
4 Thực hiện các phép toán số học với số nhị phân 4.1 Phép cộng và phép nhân Bảng giá trị: Bảng cộng Bảng nhân X Y X+Y X Y X*Y 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 10 1 1 1
- Đối với Phép cộng : l + I = 10 Trong hệ nhị phân "10" là con số có giá trị "hai"
Nên khi thực hiện phép cộng ta phải viết 0 nhớ 1 sang bên cạnh (bên trái) Ví dụ: Cộng hai số 0110 Số 6 trong hệ 10 + 1011 Số 11 trong hệ 10 TOOOT Số 17 trong hệ 10 Ví dụ 2: Nhân hai số: 0110 Số 6 trong hệ 10 xX 1011 Số 11 trong hệ 10 an + 0110 0000 0110 ~ 1000010 — Sé 66 trong hé 10 =2° +2' =64+2= 66 * Quy tic 1: Khi nhân một số nhị phân với 2" ta chỉ việc thêm n số 0 vào bên phải Vi du: 1011 x 2? = 1011000 * Quy tắc 2:
Khi chia một số nguyên nhị phân cho 2", hãy dịch dấu chấm ngăn cách phân nguyên và phân phân đi n chữ số sang bên trái
Ví dụ: 0101 1101 :2Ÿ=01011.101
4.2 Phép trừ và phép chia: Được suy ra từ phép cộng và phép nhân
* Quy tắc: Phép trừ là phép cộng với số bù hai của số trừ
Ví dụ:
Trang 31
4.3 Pháp đảo dấu Ta có +37 = 0010 0101 Bù một = 0101 1010 + 1 Bu hai ~~ =T101 1011 = 37 - Lấy số bù hai của số âm: -37 = 1101 1011 Bù một (đảo bít) = 0010 0100 + 1 Bù hai —— =UUI0D0T0I =+37
- Kết luận: Phép đảo dấu trong Máy tính thực chất là lấy bù 2
5 Số dấu chấm động (floating point number):
Là số có số chữ số phần lẻ không có định, do nó được biểu diễn bằng hai phần: Phần định trị m (mantissa) và phần số mũ e (exponent), với cơ số B (Base)
Cụ thể viết đưới dạng: X= B x m°
Người ta quy định dang chuẩn của số dấu chấm động là: B” <„<1
Ví dụ: Số 3.14
Có dạng chuẩn la = 0.314E + 01 = 0.314 x 10°
- $6 dau cham động được quy định như sau:
Dùng một bít làm dấu cho phần định trị, một số bit làm phần định trị và một số bit làm phần mũ
Cơ số B được quy ước trước, đo đó không cần đưa vào phần biểu diễn
Để Thực hiện phép cộng hoặc trừ hai số dấu chấm động phải tiến hành các bước sau:
Trang 32Bộ mã Unicode 6.1 Bộ mã ASCII - Do ANSI (American National Standard Institute) thiét ké - Bộ mã 8 bit -> mã hoá 28 ký tự có mã 00H ->FFH Trong đó:
-128 ký tự chuẩn cô định có mã (00H -> 7EFH)
- 33 ký tự điều khiển không thể hiện thị nên màn hình Bao gồm các ký tự điều khiển dinh dang văn bản, điều khiển truyền số liệu và điều khiển phân cách thông tin
- Còn lại các ký tự còn lại hiển thị được là bao gồm:
26 ký tự hoa 41h -> 5Ah 26 ký tự thường 61h ->7Ah
10 ký tự số 30h ->39h
các dấu số học và ký tự đặc biệt
~ 128 ký tự còn lại là ký tự mở rộng có thể thay đồi tuỳnhà chế tạo máy tính hay người phát triển phần mền sử dụng vào những việc riêng Có mã 80H -> FFH
6.2 Bộ mã hợp nhất Unicode:
- Do các hãng máy tính hàng đầu thế giới kết hợp thiết kế
- Bộ mã 16 bit có thể xây dựng bộ mã toàn cầu 216 ký tự với 128 ký tự đầu có mã
tring ma trong bang ma ASCII
- Có hỗ trợ các ký tự Tiếng Việt
Trang 33
CHUONG IV: BO XU LY TRUNG TÂM 1 Cấu trúc cơ bản của CPU
Mục tiêu:
Sau khi học xong chương này, sinh viên có khả năng:
- Trình bày đầy đủ các kiến thức về bộ vi xử lý nói chung và bộ vi xử lý Intel nói
riêng
- Thực hiện các đặc trưng kỹ thuật, sơ đồ cấu trúc, nguyên tắc hoạt động của bộ
vi xử lý INTEL Vẽ sơ đồ với chu trình lệnh và đường ống lệnh một cách chính xác Nội dung:
1.1 Nhiệm vụ CPU: Thực hiện lệnh của chương trình - Nhận lệnh (Fetch Instruction): CPU nhận lệnh từ bộ nhớ
- Giải mã lệnh(Decode Instruction): Xác định thao tác mà lệnh yêu cầu - Nhận dữ liệu(Fetch Data): Nhận dữ liệu từ bộ nhớ hay cổng Vào ra
- Xử lý đữ liệu(Process Data): thực hiện các phép toán số học và logic đối với đữ liệu
- Ghi dữ liệu (Write Data): Ghi dữ liệu ra bộ nhớ hay cổng Vào Ta 1.2 Cấu trúc CPU REGISTER buns V \/ snd Viva mm CONTROL UNIT SYSTEM BUS
1.3 Đơn vị số học và logie (ALU)
* Chức năng: Thực hiện các phép toán số học và logic
- Số học: Cộng, trừ, nhân, chia, tăng, giảm, đảo
- Logic: AND, OR, NOT, XOR, dịch bít
* Mô hình kết nối của ALU:
Trang 34
Tín hiệu điều khiển ““ AUU Két ana > 1.4 Đơn vị điều khiển CŨ * Chức năng: Thanh ghi co
- Nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh IP
- Tang nội dung thanh ghi PC mỗi khi nhận lệnh song
- Giải mã lệnh và xác định thao tác mà lệnh yêu cầu
- Phat ra tin hiệu điều khiền thực thi lệnh
- Nhận các tín hiệu yêu cầu từ BUS hệ thống và giải quyết đáp ứng yêu cầu đó * Mô hình kết nối đơn vị điều khiển: Thanh ghi lệnh Control Unit Tín hiệu điều khiển bên trong CPU ———> Tín hiệu điều khiển Tín hiệu yêu cầu từ Bus hệ thông LH 2 Bus hệ thống
* Các thông tin kết nói dén CU:
- Clock: Tín hiệu xung nhịp từ mạch tạo dao động
đến Bus hệ thông
Trang 35
~ Mã lệnh từ thanh ghi lệnh đưa đến CU giải mã
- Các trạng thái cờ đưa đến cho biết trạng thái của CPU cũng như trạng thái của thực
hiện các phép toán trong ALU
- Các tín hiệu điều khiển từ bus điều khiển
- Các tín hiệu điều khiển bên trong CPU: điều khiển thanh ghi, ALU - Các tín hiệu điều khiển bên ngoài CPU: đó là bộ nhớ hay cổng vào ra
1.5 Tập thanh ghỉ a Chức năng:
Thực chất là vùng nhớ được CPU nhận biết qua tên thanh ghi và có tốc độ truy xuất
cực nhanh
- Chứa thông tin tạm thời phục vụ cho hoạt động ở thời điểm hiện tại của CPU
- Số lượng thanh ghi tùy thuộc vào bộ vi xử lý cụ thể - Làm tăng hiệu năng CPU
- Thanh ghi chia làm 2 loại: loại lập trình được và loại không lập trình được b Phân loại thanh ghỉ theo chức năng
- Thanh ghi địa chỉ: Thanh ghi được sử dụng để quản lý địa chỉ của ngăn nhớ hay cổng vào ra
- Thanh ghi dữ liệu: Thanh ghi dùng để lưu trữ dữ liệu tạm thời
- Thanh ghi đa năng: Thanh ghi có thê chứa dữ liệu hoặc địa chỉ đều được
- Thanh ghi điều khiển/trạng thái: Thanh ghi chứa thông tin về trạng thái CPU
- Thanh ghi lệnh: Thanh ghi chứa lệnh đang được thực hiện c Một số thanh ghi điển hình
- Bộ đếm chương trình PC - Ngăn xếp SS (Stack) - Con trỏ ngăn xếp SP
d Các thanh ghi dữ liệu
- Chứa các đữ liệu tạm thời và kết quả trung gian
- Các thanh ghi số nguyên 8, 16, 32, 64 bit
- Các thanh ghi số dấu chấm động
e Cac thanh ghi trang thai (State Register) va thanh ghi co (Flag Register) - Chứa các thông tin của trạng thái CPU
- Các cờ phép toán báo hiệu trạng thái kết quả
Trang 36- Cac thành phần một lệnh máy 2 phan:
+Mã thao tác (Operation Code: Opcode): Mã chỉ ra thao tác mà bộ vi xử lý
cần phải thực hiện
+ Địa chỉ toán hạng (Operand Address): Chỉ ra nơi chứa các toán hạng mà mã thao tác sẽ tác động
o Toán hạng nguồn: dữ liệu vào của thao tác o Toán hạng đích: dữ liệu ra của thao tác
2.2 Các kiếu thao tác
- Thao tác chuyển đữ liệu - Thao tác xử lý số học và logic
- Thao tác vào ra đữ liệu qua cổng
- Thao tác điều khiển rẽ nhánh
- Thao tác điều khiển hệ thống - Thao tác xử lý số dầu chấm động - Thao tác chuyên dụng khác: xử lý ảnh, âm thanh, tiếng nói, * Các lệnh chuyền dữ liệu: - Lénh Move: Sao chép đữ liệu từ toán hạng nguồn -> đích - Lệnh Load : Nạp dữ liệu từ bộ nhớ -> bộ xử lý
- Lệnh XCHG: Trao đổi nội dung của hai toán hạng cho nhau
- Lệnh PUSP: Cất nội dung của một toán hạng nguồn vào stack
- Lệnh POP: Lấy nội dung ở đỉnh Stack ra toán hạng đích - Lệnh Set, Clear * Các lệnh số học: - Lệnh ADD : cộng - Lệnh SUB : trừ - Lệnh MUL: nhân - Chia DIV : chia * Các lệnh logic:
- Lệnh Test: Thực hiện lệnh AND thiết lập cờ
- Lệnh Shift: Dịch trái, hoặc phải - Lệnh Rotate: Quay trái hoặc quay phải
- Lệnh Convert: Chuyên đổi đữ liệu từ đạng này sang dang khác - Lénh AND, OR, XOR, NOT
* Cac lệnh vào ra:
- Lệnh Input: Copy đữ liệu từ một cổng xác định đến đích
- Lệnh Output: Copy dữ liệu nguồn đến một cổng xác định
* Các lệnh chuyển điều khiển:
- Lệnh Jump: Lệnh nhảy không điều kiện + Nạp vào PC một địa chỉ xác định
Trang 37
+ Jump Conditional: Lệnh nhảy có điều kiện
Điều kiện ding > Nap vào PC một địa chỉ xác định
Điều kiện sai => không làm gì cả
- Lệnh Call: Lệnh gọi chương trình con
+Cắất nội dung của PC (địa chỉ trở về) ra một vị trí xác định + Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con - Lệnh Return : trở về từ chương trình con
+ Khôi phục địa chỉ trở về trả lại cho PC đề trở về chương trình chính
* Các lệnh điều khiển hệ thống:
- Lệnh Halt : dừng thực hiện chương trình
- Lệnh Wait : tạm dừng thực hiện chương trình, lặp kiểm tra cho đến khi thoả mãn thì tiếp tục thực hiện
- No Operation: không thực hiện gì cả
- Lénh Lock : Cắm không cho chuyền nhượng BUS
- Lénh Unlock: cho phép chuyển nhượng BUS 2.3 Các phương pháp định địa chỉ (Addressing Modes)
* Khái niệm về định địa chỉ:
~ Toán hạng có thể là:
+ Một thanh ghi cụ thể
+ Nội dung của thanh ghi
+ Nội dung của ngăn nhớ hay cổng và
- Phương pháp định địa chỉ là cách thức định địa chỉ hóa trong trường địa chỉ của lệnh để xác định toán hạng
* Các phương pháp định địa chỉ thông dụng: - Định địa chỉ tức thời
- Định địa chỉ thanh ghi
- Dinh địa chỉ trực tiếp
- Định địa chỉ gián tiếp qua thanh ghi - Định địa chỉ gián tiếp
- Định địa chỉ dịch chuyển
* Định địa chỉ tức thì:
~ Toán hạng là hằng số nằm ngay trong trường địa chỉ toán hạng - Đây chỉ có thể là toán hạng nguồn
- Không tham chiếu bộ nhớ ~ Truy cập toán hạng rất nhanh
Trang 38
ADD RỊ, 5; RI€ RI+Š
* Định địa chỉ thanh ghỉ
- Toán hạng được chứa trong thanh ghi có tên trong Trường địa chỉ của lệnh
- Vi dy: ADD RI, R2; RI€ RI+ R2
- Số lượng thanh ghi ít nên Trường địa chỉ chỉ cần ít bit
- Không tham chiếu bộ nhớ - Truy cập toán hạng nhanh
- Tang số lượng thanh ghi nên hiệu quả hơn - Sơ đồ địa chỉ thanh ghi: Tập thanh ghỉ Mã thao tác Thanh ghi Toan hang
* Dinh dia chi truc tiép
- Toán hạng là ngăn nhớ có địa chỉ được chỉ ra trực tiếp trong Trường địa chỉ của
lệnh
- Vidu ADD R1, A; RI © R1+(A)
+ Cộng nội dung thanh ghi RI với nội dung của ngăn nhớ có địa chỉ là A
+ Tìm toán hạng trong bộ nhớ ở địa chỉ A
- CPU tham chiếu bộ nhớ một lần đề truy nhập dữ liệu
Trang 39* Định địa chỉ gián tiếp qua thanh ghỉ
~ Toán hạng là ngăn nhớ có địa chỉ nằm trong thanh ghi
- Trường địa chỉ của lệnh cho biết tên thanh ghi đó
- Thanh ghi có thể là ngầm định
- Thanh ghi này được gọi là Thanh ghi con trỏ
~ Vùng nhớ có thể được tham chiếu là lớn (2"), (Với n là độ dài của thanh ghi) - Sơ đồ: Mã thao tác Thanh ghi Thanh ghi Địa chỉ
* Định địa chỉ gián tiếp qua ngăn nhớ:
- Ngăn nhớ được trỏ bởi Trường địa chỉ của lệnh chứa địa chỉ bởi toán hạng
- Có thể gián tiếp nhiều lần
~ Giống như khái niệm biến con trỏ và biến động trong lập trình
- CPU phải thực hiện tham chiếu bộ nhớ nhiều lần đề tìm toán hạng -> chậm - Vùng nhớ có thể được tham chiếu là lớn
- Sơ đồ định địa chỉ gián tiếp qua ngăn nhớ:
Trang 40
* Định địa chỉ dịch chuyển:
- Để xác định toán hạng Trường địa chỉ của lệnh chứa hai thành phan: + Tên thanh ghi
+ hằng số
- Địa chỉ toán hạng = Tên thanh ghi + Hằng số
- Sơ đồ định dia chi dich chuyển: Mã thao tác Tên Thanh ghi Hang sô
Tập thanh ghi Ko Toán hạng
* Các dạng của định địa chỉ dịch chuyển:
- Dia chi hóa tương đối với PC:
+ Thanh ghi là bộ đếm chương trình PC
4I