1 MỤC LỤC Chương1 3 Kiến trúc máy vi tính PC và đơn vị xử lý trung tâm 3 1 1 Các thành phần cơ bản của máy tính số 3 1 2 Biểu diễn thông tin trong máy tính số 5 1 3 Kiến trúc cơ bản máy vi tính PC 14 1 4 Đơn vị xử lý trung tâm CPU (Central Processing Unit) 18 1 4 1 Cấu hình bên ngoài 18 1 4 2 Cấu hình bên trong 20 1 4 3 Quản lý bộ nhớ trong chế độ thực và các thanh ghi đoạn 21 1 4 4 Các thanh ghi 23 1 4 5 Quản lý bộ nhớ trong chế độ bảo vệ 26 1 4 6 Cơ chế đa nhiệm 34 1 4 7 Các chế độ xác định đị.
MỤC LỤC Chương1 Kiến trúc máy vi tính PC đơn vị xử lý trung tâm 1.1 Các thành phần máy tính số 1.2 Biểu diễn thơng tin máy tính số 1.3 Kiến trúc máy vi tính PC .14 1.4 Đơn vị xử lý trung tâm CPU (Central Processing Unit) 18 1.4.1 Cấu hình bên ngồi .18 1.4.2 Cấu hình bên 20 1.4.3 Quản lý nhớ chế độ thực ghi đoạn 21 1.4.4 Các ghi 23 1.4.5 Quản lý nhớ chế độ bảo vệ .26 1.4.6 Cơ chế đa nhiệm 34 1.4.7 Các chế độ xác định địa toán hạng 35 1.5 Kỹ thuật đường ống kỹ thuật xử lý song song mức lệnh .38 1.5.1 Kỹ thuật xử lý lệnh kiểu đường ống (Pipeline) .38 1.5.2 Kỹ thuật ILP (xử lý song song mức lệnh) .39 Chương 41 Tổ chức nhớ máy vi tính PC 41 2.1 Tổ chức nhớ theo phân cấp .41 2.2 Tổ chức cache 42 2.2.1 Trường hợp khối chứa từ (hoặc byte) liệu 43 2.2.2 Trường hợp khối chứa nhiều từ liệu 44 2.2.3 Kỹ thuật tập liên hợp .45 2.3 Tổ chức nhớ máy vi tính PC 45 2.3.1 Cơ chế quản lý nhớ theo phân trang .46 2.3.2 Cơ chế truy nhập nhớ theo trang .47 Chương 49 Các phương pháp vào liệu máy vi tính 49 3.1 Cấu trúc phần cứng hệ thống vào/ra liệu 49 3.2 Các phương pháp vào/ra liệu 49 3.2.1 Phân loại 49 3.2.2 Phương pháp vào/ra liệu theo định trình 50 3.2.3 Phương pháp vào/ra liệu theo kiểu thăm dò 51 3.2.4 Phương pháp vào/ra liệu theo ngắt cứng 52 3.2.5 Phương pháp vào/ra liệu theo kiểu DMA (truy nhập trực tiếp nhớ - Direct Memory Access) 54 Chương 56 Các thiết bị vào 56 4.1 Các thiết bị giao diện điều khiển vào/ra liệu 56 4.1.1 Ngắt điều khiển ngắt PIC 8259 .56 4.1.2 Truy nhập trực tiếp nhớ điều khiển DMAC 8237 65 4.1.3 Vào-ra nối tiếp thiết bị giao diện vào-ra nối tiếp UART 8250/16450 .72 4.1.4 Thiết bị giao diện song song 80 4.2 Các thiết bị ngoại vi .83 4.2.1 Bàn phím 83 4.2.2 Màn hình 87 4.2.3 Đĩa từ 90 Chương1 Kiến trúc máy vi tính PC đơn vị xử lý trung tâm 1.1 Các thành phần máy tính số Trong lịch sử, máy tính điện tử phát triển theo hướng kỹ thuật tách biệt, từ sinh loại máy tính Máy tính tương tự (analog computer) máy tính số (digital computer) Máy tính tương tự hoạt động loại số liệu liên tục với mạch điện tử tương tự, cịn máy tính số hoạt động loại số liệu rời rạc với mạch điện tử số Hiện máy tính số chiếm ưu vượt trội nên nói đến máy tính người ta thường hiểu ngầm máy tính số Máy tính số gồm thành phần sau: - Đơn vị xử lý trung tâm (CPU): chế tạo mạch vi điện tử có độ tích hợp cao, có nhiệm vụ đọc mã lệnh bit thông tin từ nhớ chính, giải mã lệnh thành chuỗi xung điều khiển để điều khiển khối khác thực bước thao tác lệnh Để làm điều bên vi xử lí có ghi (registers) để chứa địa lệnh thực (lệnh kế tiếp) ghi trỏ lệnh IP (Instruction Pointer) hay gọi đếm chương trình PC (Program Counter) ghi khác dùng để lưu trữ liệu tạm thời trạng thái hệ thống Các ghi với tính số học logic ALU (Arithmetical and Logic Unit) cho phép thực thao tác với liệu Trong vi xử lí đơn vị điều khiển CU (Control Unit) phần phức tạp có chức giải mã lệnh tạo xung điều khiển toàn hệ thống CPU thực chức sau: - Điều khiển ghi/đọc thông tin lên nhớ -Hiểu thực tập hữu hạn thị thể dạng mã số -Nhập thị từ nhớ thực thi thị (chức thực chương trình có nhớ) -Điều khiển q trình nhập thơng tin từ thiết bị đầu vào điều khiển q trình xuất thơng tin qua thiết bị đầu - Bộ nhớ (RAM+ROM): Được tạo vi mạch nhớ bán dẫn có tốc độ truy cập nhanh dung lượng hạn chế, nằm mạch chia thành ô nhớ ô nhớ có địa xác định Địa ô nhớ (xác định vị trí nhớ) tăng dần, ô nhớ dài byte ROM : ROM nhớ đọc Dữ liệu ROM trì khơng có nguồn điện ni ROM chứa chương trình kiểm tra hệ thống, chương trình xác lập cấu hình hệ thống, chương trình đọc cung đĩa khởi động, chương trình điều khiển thiết bị vào-ra máy tính (BIOS-Basic Input/Output/Output System) RAM: RAM nhớ thao tác Bộ nhớ RAM có chức chứa phần mềm hệ thống (hệ điều hành), phần mềm liệu nhiều chương trình hoạt động (chương trình ứng dụng) Nội dung RAM bị xóa điện Ngồi cịn có: + Bộ nhớ khối (bộ nhớ ngồi): Lưu giữ tài nguyên phần mềm máy tính bao gồm: HĐH, chương trình liệu Bộ nhớ kết nối với hệ thống dạng thiết bị vào/ra Nó có dung lượng lớn tốc độ truy cập chậm Các loại nhớ như: Đĩa cứng, đĩa mềm,… + Bộ nhớ cache: Là thành phần nhớ tốc độ nhanh đặt đệm CPU nhớ nhằm tăng tốc độ truy cập nhớ CPU Dung lượng nhỏ nhớ Nó sử dụng để lưu trữ lệnh liệu thường sử dụng nhiều q trình thực chương trình (bộ nhớ có ko có) -Thiết bị vào: Thực chức nhập thơng tin cho máy tính Ví dụ: Bàn phím, chuột,… -Thiết bị ra: Hiển thị thơng tin đưa từ máy tính dạng người hiểu VD: Màn hình, máy in, thiết bị âm thanh,… - Phối ghép vào/ra (thiết bị giao diện): mạch điện tử thực chức ghép nối, cho phép CPU thông tin với thiết bị ngoại vi bàn phím, hình, ổ đĩa từ, chuột,…Các mạch điện tử gọi cổng vào/ra (I/O port) Tùy theo yêu cầu mà chúng có chức cổng vào cho phép CPU nhận thơng tin từ ngồi cổng cho phép CPU xuất thơng tin ngồi hai Sự có mặt thiết bị giao diện có khác biệt lớn dạng thức truyền tải tốc độ xử lý thông tin đơn vị xử lý trung tâm thiết bị ngoại vi Bên máy tính số sử dụng làm phương tiện truyền tải thông tin, giới bên ngồi máy tính thơng tin truyền tải dạng ký tự, ánh sáng, âm thanh, Đơn vị xử lý trung tâm xử lý thông tin với tốc độ cao, thiết bị bên ngồi máy tính xử lý thông tin với tốc độ chậm nhiều - Hệ thống bus: Các khối máy tính kết nối với qua tập đường dây truyền tín hiệu gọi bus hệ thống: Là đường truyền thơng tin máy tính.Về mặt vật lý Bus tập hợp đường dây truyền tín hiệu điện, đường dây truyền bit thông tin thời điểm Đơn vị xử lý trung tâm CPU thực kết nối trao đổi thông tin với đơn vị chức khác thông qua hệ thống BUS Bus hệ thống gồm bus thành phần là: + Bus liệu (2 chiều): để truyền tải liệu + Bus địa (1 chiều: chiều từ CPU) để CPU định vị, chọn ô nhớ chọn thiết bị ngoại vi cần liên lạc, loại bus chiều + Bus điều khiển(2 chiều): Do CPU hay thiết bị khác phát để điều khiển q trình trao đổi liệu tín hiệu để phân biệt đơn vị CPU truy nhập thuộc nhớ hay thiết bị vào/ra, thao tác truy nhập đọc hay viết,… Để người sử dụng làm việc máy tính (như viết cho chạy chương trình ứng dụng riêng họ) với phận phần cứng không đủ, phần mềm gọi HĐH phải cài đặt sẵn máy tính Đó tập hợp chương trình để sử dụng chức phận phần cứng hay phần mềm hệ thống máy tính Khác với chương trình ứng dụng, HĐH chương trình hệ thống đặc biệt chạy suốt thời gian hoạt động máy tính Thực tập hợp chương trình lo việc điều khiển hoạt động máy tính cho phép chương trình phần mềm khác chạy Nó điều khiển máy tính định cho chương trình chạy khoảng thời gian nào, định nguồn tài nguyên (bộ nhớ, thiết bị vào/ra,…) sử dụng, Trong lĩnh vực khoa học đời sống, máy tính số dùng lĩnh vực xử lý liệu, sử dụng đo lường điều khiển tự động hay dùng xử lí số… 1.2 Biểu diễn thơng tin máy tính số Các hệ đếm liên quan tới máy tính - Trong sống hàng ngày ta thường dùng hệ đếm số mười hay hệ thập phân tổ hợp chữ số từ tới để biểu diễn giá trị số Cịn máy tính số hệ đếm nhị phân sử dụng để biểu diễn giá trị số Bởi máy tính số xây dựng sở mạch điện, mà mạch điện thời điểm hai trạng thái đóng mở; có khơng có dịng điện mạch; điện áp cao điện áp thấp Trong hệ nhị phân bit (là số 1) đơn vị nhỏ biểu diễn liệu (đơn vị nhỏ mang thơng tin) máy tính - Để biểu giá trị số N ta dùng ký pháp vị trí sau: ana n-1 ….a1a0a-1a-2 …a-(m-1)a -m=a n*bn+a n-1 *bn-1+…+a1 *b1+a0 *b0+a-1 *b-1+a-2 *b-2 +…+a-(m-1)*b(m-1) +a-m*b-m Trong đó: b : số ; bn-1,…,b2,b1,b0,b-1,b-2,…,b-(m-1),b-m trọng số an , an-1,an-2,…,a1,a0,a-1 ,a-2,…a-(m-1),a-m : số nằm vị trí tương ứng với trọng số Khi cần phân biệt rõ hệ đếm thường viết thêm số ký hiệu số vào số Ví dụ số 65 hệ thập phân viết 6510, hệ nhị phân viết 1001022 Ví dụ: - Biểu diễn số 541.2510 : 541.2510 = 5*10-2 + 2*10-1 + 1*100 + 4*101 + 5*102 Trong : 10 - số ; 10-2, 10-1, 100, 101, 102 – trọng số 5, 2, 1, 4, – chữ số đặt vị trí tương ứng với trọng số - 357.123 = 3*102 + 5*101 + 100 + 1*10-1+2*10-2+3*10-3 Một giá trị 126.5 hệ thập phân biểu diễn hệ nhị phân dạng : 1111110.12=1*26+1*25+1*24+1*23+1*22+1*21+0*20+1*2-1 Trong : - số ; 2-1, 20, 21, 22, 23 ,24, 25, 26– trọng số 1, 0, 1, 1, 1,1,1,1 – chữ số đặt vị trí tương ứng với trọng số - Hiện có hệ đếm hay dùng toán liên quan đến máy tính : Hệ mười (decimal) b=10 a={0,1,2,3,4,5,6,7,8,9} Hệ nhị phân (binary) b=2 Hệ tám (octal) a={0,1} b=8 a={0,1,2,3,4,5,6,7} Hệ mười sáu (hexaldecimal) b=16 a={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} Giữa hệ đếm thường xuyên phải có chuyển đổi qua lại : + Đổi số thập phân sang số có hệ số r thực cách tách số thành phần : Phần nguyên phần phân số để biến đổi riêng rẽ Sự biến đổi phần nguyên thực cách chia liên tiếp cho r tích lũy số dư lại Biến đổi phần phân số thực cách nhân liên tiếp với r tích lũy số nguyên nhận Ví dụ trình biến đổi số thập phân sang số nhị phân : Đổi 23.37510 sang nhị phân Chúng ta chuyển đổi phần nguyên dùng phương thức số dư : KQ : 23.37510 = 10111.0112 Tuy nhiên, việc biến đổi phần lẻ số thập phân sang số nhị phân theo phương thức nhân, có số trường hợp việc biến đổi số lặp lại vô hạn như: + Đổi số nhị phân sang số thập phân: Bằng cách cộng số mũ ứng với số số nhị phân Ví dụ: 1 1 Số nhị phân 26 25 24 23 22 21 20 Các trọng số 64 16 Kết =87 + Chuyển đổi số nhị phân số hệ thập lục: Một nhóm số nhị phân bit vừa đủ biểu diễn chữ số hệ mười sáu nên ta nhóm số nhị phân cần chuyển đổi thành nhóm 4bit đổi nhóm chữ số mười sáu: Ví dụ: 11000001112 nhóm: 11 0000 0111 kết là: 30716 + Chuyển đổi số hệ thập lục phân sang số nhị phân việc đổi chữ số hệ thập lục sang nhóm 4bit Ví dụ : AB4C = 1010 1011 0100 1100 + Giữa hệ thập phân nhị phân tồn hệ lai BCD (binary coded decimal): Hệ mã hóa số hệ thập phân só nhị phân Thường dùng số nhị phân bit để mã hóa cho chữ số từ đến Như không dùng hết tổ hợp có 4bit (24=16) Ví dụ: Số 52010 biểu diễn theo số BCD là: Số thập phân Các số BCD 0101BCD 0010BCD 0000BCD Các phép toán số nhị phân - Phép cộng : Ta có nguyên tắc sau 0+0=0 0+1=1 1+0=1 + = nhớ (để cộng vào hàng trước nó, tương tự phép cộng số thập phân) Giá trị + = 2, hệ nhị phân có hai số 1, mặt khác biểu diễn hệ nhị phân = 1*21 + 0*20 = 10 nên kết nhớ Ví dụ: Cộng hai số 1000111 (số 71 hệ thập phân) số 11110 (số 30 hệ thập phân) Cột 71 = 0 1 1 1 30 = Bit nhớ 1 1 101 1 0 1 Và kết được: 1000111 + 11110 = 1100101 (71 + 30 = 101, ta kiếm tra lại cách đổi số 101 sang nhị phân xem có kết vừa làm không) - Phép trừ : Nguyên tắc 0–0=0 – = mượn (vì số bị trừ nhỏ số trừ nên phải mượn 1từ số vị trí cao bên trái) 1–0=1 1–1=0 Ví dụ: Thực phép trừ 51 – 28 = 23 Số 5110 = 1100112, số 2810 = 111002 Cột 51 = 1 0 1 28 = 1 0 Bit mượn 1 0 23 = 1 1 Vậy 110011 – 11100 = 010111 (tương ứng với 51 – 28 = 23) Ví dụ : – = 110 - 011 11 phần nợ 011 - Nhân hai số nhị phân: Phép tính nhân hệ nhị phân tương tự phương pháp làm hệ thập phân Hai số A B nhân với tích số kí số A B: với số B, tích với số A tính viết xuống hàng mới, hàng phải chuyển dịch vị trí sang bên trái bit Tổng tích cục cho ta kết tích số cuối Nguyên tắc: * = ; * = 0; * = 0; * = Ví dụ: x = 54 (1001 x 110 = 110110) Để dễ hiểu, xem hình dười đây, hình thứ biểu diễn cách nhân số thập phân hình thứ cách nhân số nhị phân - Chia số nhị phân: Phép chia số nhị phân tương đối phức tạp phép cộng, trừ nhân Cách chia số nhị phân giống chia số thập phân, bạn cần nắm vững cách chia số thập phân, đồng thời cần nắm vững cách trừ số nhị phân Đầu tiên xem hình để nhớ lại cách chia số thập phân, sau xem hình bạn hiểu cách chia số nhị phân Nguyên tắc: : = 0; : = Biểu diễn số ngun khơng dấu có dấu máy tính 3.1 Biểu diễn số ngun khơng dấu Tất số mã máy vi tính biểu diễn chữ số nhị phân Để biểu diễn số nguyên không dấu, người ta dùng n bit Tương ứng với độ dài số bit sử dụng, ta có khoảng giá trị xác định sau: Khoảng giá trị Số bit n bit: bit (Byte) 0 2n - 0255 16 bit(Word) 065535 3.2 Biểu diễn số nguyên có dấu máy tính Các số ngun có dấu dùng bit tận bên trái làm bit dấu : bit biểu diễn cho dấu (+) cho dấu (-) Một cách tổng quát ta có Số bit Khoảng giá trị -(2 n) +(2 n-1) n bit: bit -128 +127 Một số nguyên dương khoảng biểu diễn mã nhị phân thông thường có số bit cao Ví dụ : +25 = 00011001 10 +6510=0100 00012 Một số nguyên âm khoảng biểu diễn theo mã số bù số nguyên dương tương ứng Số bù số nhị phân tạo cách lấy trừ chữ số cộng vào chữ số có ý nghĩa thấp số vừa tạo Phương pháp tạo số bù số thực tế đuợc thực cách đổi số thành số 1, đổi số thành số cộng vào chữ số có ý nghĩa thấp số vừa tạo Ví dụ : Số bù -25 = 11100111 10 -6510=1011 1111 Với hệ thống bù phép tính cộng trừ hai số nhị phân thực qua phép tính cộng Trong hệ thống bù thực cộng hai số có bốn tình xảy ra: + Cả số dương : Khi thực phép cộng cộng số từ phải qua trái, kể bit dấu Ví dụ cộng hai số dương bit : + Một số dương, số âm số âm có trị tuyệt đối nhỏ Bù số âm tạo thêm bit dấu vào vị trí cao Khi thực phép cộng, bit nhớ tạo từ bit dấu Cần bỏ bit nhớ Kết số dương Ví dụ cộng hai số khác dấu bit : 10 ... Chương1 Kiến trúc máy vi tính PC đơn vị xử lý trung tâm 1.1 Các thành phần máy tính số Trong lịch sử, máy tính điện tử phát triển theo hướng kỹ thuật tách biệt, từ sinh loại máy tính Máy tính tương... thời gian hoạt động máy tính Thực tập hợp chương trình lo việc điều khiển hoạt động máy tính cho phép chương trình phần mềm khác chạy Nó điều khiển máy tính định cho chương trình chạy khoảng thời... computer) máy tính số (digital computer) Máy tính tương tự hoạt động loại số liệu liên tục với mạch điện tử tương tự, cịn máy tính số hoạt động loại số liệu rời rạc với mạch điện tử số Hiện máy tính