Giáo trình Kiến trúc máy tính
Đơn vị điều khiển CU gồm thanh ghi lệnh IR (Instruction Register), là
nơi chứa lệnh mà CPU đọc về từ ô nhớ lệnh, bao gồm cả phần mã lệnh và
phần địa chỉ toán hạng, khối giải mã lệnh ID (Instruction Decoder), mạch
giải mã này giải mã lệnh để xác định nhiệm vụ mà lệnh yêu cấu CPU xử lý,
tạo các tín hiệu điều khiển các tác vụ của CPU khi thực thi lệnh và thanh
đếm chương trình PC (Program Counter). Thanh đếm chương trình PC làm
nhiệm vụ con trỏ lệnh (Instruction Pointer), chứa địa chỉ của ô nhớ chứa
lệnh sẽ thực thi trong tuần tự thực hiện chương trình. Do vậy sau khi CPU
đọc được một lệnh từ bộ nhớ chương trình, sau khi được giải mã, thông qua
điều khiển của CU thì PC được tăng nội dung lên để chỉ vào ô nhớ chứa lệnh
tiếp theo. Trong trường hợp gặp lệnh rẽ nhánh hay lệnh gọi chương trình
con, nội dung thanh đếm PC thay đổi tuỳ theo giá trị địa chỉ mà chương trình
dịch gán cho nhãn hay tên chương trình con được xác định bởi người lập
trình.
CPU có các thanh ghi: thanh ghi gộp (Acc – Accummulator), thanh ghi
tạm thời TEMP (temporary), thanh ghi đệm địa chỉ MAR (Memory Address
Register), thanh ghi đệm bộ nhớ MBR (Memory Buffer Register), và thanh
ghi cờ Flags. Thanh ghi Acc được sử dụng để chứa nội dung một toán hạng,
và thông thường là nơi chứa kết quả thực hiện phép toán, thanh ghi tạm thời
chứa nội dung toán hạng thứ hai trong các phép toán hai ngôi. Nội dung
thanh ghi MAR là địa chỉ của ô nhớ mà CPU đang truy xuất, còn nội dung
thanh ghi MBR là dữ liệu đọc được từ bộ nhớ hoặc sẽ được ghi vào ô nhớ.
Thanh ghi cờ Flags gồm các bit biểu diễn trạng thái của kết quả thực hiện
phép toán xử lý dữ liệu của CPU, Trong trường hợp đơn giản, thanh ghi cờ
có 3 bit, đó là bit dấu (S – Sign) biểu diễn giá trị dữ liệu là âm hay dương, bit
không (Z-Zero) biểu diễn kết quả phép toán khác 0 hay bằng 0, bit nhớ (C –
Carry) biểu diễn trạng thái kết quả phép toán có bit nhớ hay không có bit
nhớ.
Tóm tắt nội dung tài liệu: Giáo trình Kiến trúc máy tính
Nguyễn Trung Đồng – Tel 0983 410 866 1 LỜI NÓI ĐẦU Máy tính đang ngày càng trở thành một công cụ không thể thiếu cũng như không thể thay thế được trong đời sống thường nhật. Ứng dụng công nghệ thông tin trong sinh hoạt hàng ngày, trong sản xuất ra của cải vật chất cũng như trong công việc điều hành, quản lý ngày càng phổ biến. Có thể nói mọi người, không phân biệt giới tính hay tuổi tác, đều tìm được ở công cụ sắc bén này một niềm hứng khởi, say mê kể cả trong giải quyết công việc cũng như học hỏi, nghiên cứu sáng tạo hay giải trí. Cấu tạo máy tính ngày càng hiện đại, tinh vi, phức tạp, bao gồm nhiều thành phần chức năng và đòi hỏi sự liên kết, hợp tác của nhiều ngành khoa học, công nghệ mũi nhọn tạo nên. Kiến trúc máy tính (Computer Architecture) là ngành khoa học nghiên cứu nguyên lý hoạt động, tổ chức (organization) máy tính từ các thành phần chức năng cơ bản – cấu trúc và tổ chức phần cứng, tập lệnh – mà qua đó, các lập trình viên có thể nhận thấy, sử dụng, khai thác và sáng tạo để đáp ứng tốt hơn, đầy đủ hơn những yêu cầu của người dùng. Một máy tính không chỉ bao gồm các thành phần vật lý, các khổi chức năng – thường được gọi là phần cứng (hardware) – mà còn bao gồm một khối lượng đồ sộ các chương trình điều hành, quản lý, tiện ích và ứng dựng, được gọi là phần mềm (software). Giáo trình được biên soạn trên cơ sở bài giảng của tác giả tại Trường Đại học Công nghệ Thông tin và truyền thông, Đại học Thái Nguyên từ những năm 2002-2010, trường Đại học Thăng Long, và Học viện Công nghệ Bưu chính Viễn thông; giáo trình trình bày những vấn đề lý thuyết và những thành phần cơ bản nhất, chung nhất của kiến trúc máy tính. Giáo trình được biên soạn cho sinh viên học ngành Công nghệ thông tin tại các trường Đại học. Các thuật ngữ khoa học sử dụng trong tài liệu được trích dẫn bằng tiếng Anh – ngôn ngữ chung trong ngành Công nghệ thông tin. Tuy nhiên, tác giả cũng muốn tài liệu có thể dùng làm tham khảo cho những ai quan tâm hay yêu thích tìm hiểu những kiến thức cơ bản của lĩnh vực chuyên môn này. Nội dung giáo trình được trình bày trong 8 chương. Chương I nhắc lại những kiến thức cơ bản về mạch điện tử số, các cổng logic, mạch flip-flop, v.v, những phần tử cơ bản nhất cấu thành các mạch chức năng trong máy tính. Các kiến thức cơ bản về mạch tổ hợp, mạch tuần tự, mạch cộng dữ liệu nhị phân, thanh ghi dịch, , cũng được trình bày. Những kiến thức này rất cần thiết để sinh viên dễ dàng nắm bắt nguyên lý làm việc của các khối chức năng cơ bản trong máy tính. Nguyễn Trung Đồng – Tel 0983 410 866 2 Chương II giới thiệu những kiến thức tổng quan về kiến trúc máy tính, bắt đầu từ nguyên lý kiến trúc, chức năng, nhiệm vụ và các thành phần cơ bản tạo nên một máy tính theo nguyên lý Von Neumann. Nội dung chương phân biệt hai khái niệm kiến trúc, tổ chức máy tính với cấu trúc máy tính để dễ dàng nắm bắt các yêu cầu hiểu biết về CPU, về bộ nhớ, về các thiết bị ngoại vi và liên kết hệ thống giữa các đơn vị chức năng này. Nguyên lý và phương thức biểu diễn các thông tin số, thông tin không số cũng được trình bày trong chương này. Chương III trình bày kiến trúc và các bước thiết kế kiến trúc đơn vị xử lý trung tâm CPU, đơn vị điều khiển CU thông qua việc phân tích hoạt động chức năng thực thi lệnh, thực thi chương trình. Chương IV phân tích kiến trúc tập lệnh và phương thức CPU thực hiện lệnh, chu kỳ lệnh trong thực hiện chương trình, thông qua đó củng cố sâu thêm những hiểu biết về nguyên lý kiến trúc, chuẩn bị kiến thức cơ sở cho lập trình hệ thống. Thông qua truy xuất bộ nhớ để lấy lệnh, lấy dữ liệu, phân tích các phương pháp định vị ô nhớ trong cấu trúc lệnh. Chương V trình bày khái niệm BUS trong chức năng các kênh truyền dẫn thông tin, dữ liệu liên kết các thành phần chức năng của một máy tính. Nội dung chương đề cập các mối liên kết thông qua hệ thống BUS giữa CPU với bộ nhớ, giữa CPU với các thiết bị ngoại vi và các yêu cầu về định thời cho hoạt động trao đổi thông tin, dữ liệu. Chức năng truy cập trực tiếp bộ nhớ (Direct Memory Access), chức năng quản lý và điều khiển quá trình ngắt cũng được phân tích trong chương này. Trên cơ sở phân tích các nội dung trên, đưa ra yêu cầu thiết kế, xây dựng hệ thống BUS nhằm đảm bảo cho hệ thống máy tính hoạt động ổn định. Chương VI trình bày tổ chức và quản lý bộ nhớ. Các khái niệm phần tử nhớ, tạo từ nhớ từ các chip nhớ được đề cập cụ thể. Nội dung cũng đề cập phương thức quản lý bộ nhớ theo phân đoạn, phân trang, quản lý bộ nhớ trong chế độ bảo vệ, quản lý theo đặc quyền truy xuất. Các phương pháp tổ chức và quản lý bộ nhớ cache, thành phần nâng cao đáng kể hiệu suất hoạt động của CPU, được khảo sát kỹ trong chương này. Chương VII phân tích yêu cầu cơ bản của một vài thiết bị ngoại vi chủ yếu như thiết bị nhập liệu, thiết bị hiển thị kết quả xử lý. Chương VIII giới thiệu sơ lược về kỹ thuật và các công cụ phục vụ phát triển hệ thống phần mềm của máy tính. Những khái niệm cơ bản về lập trình hợp ngữ, chương trình dịch, chương trình thông dịch, và khái niệm hệ điều hành. Đây là những kiến thức tối thiểu và khái niệm phần mềm, thành phẫn cốt lõi thứ hai tạo nên một hệ thống máy tính. Nguyễn Trung Đồng – Tel 0983 410 866 3 Như đã nói ở trên, giáo trình này được biên soạn lại theo nội dung các bài giảng tác giả sử dụng lâu nay, mặc dù đã rất cố gắng, song chắc chắn còn nhiều thiếu sót. Mong các độc giả góp ý để tác giả rút kinh nghiệm và bổ sung. Tác giả xin chân thành cảm ơn các đồng nghiệp tại Viện Công nghệ Thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam, các đồng nghiệp tại bộ môn Khoa học máy tính, Kỹ thuật máy tính của các trường mà tác giả từng cùng tham gia giảng dạy đã luôn luôn động viên, góp ý trong quá trình biên soạn. Rất mong nhận được sự góp ý của quý độc giả theo địa chỉ Email dongnt@hn.vnn.vn. Xin chân thành cảm ơn Nguyễn Trung Đồng Nguyễn Trung Đồng – Tel 0983 410 866 4 Chương I. Những kiến thức cơ sở 1. Một số phần tử Logic cơ bản Các mạch logic cơ bản được tạo ra từ liên kết các phần tử điện tử thông dụng là transistor, diode, điện trở, tụ điện, Tuỳ theo công nghệ chế tạo các phần tử đó mà chúng có những tên gọi khác nhau như logic TTL, logic CMOS, logic HMOS, logic MOSFET v.vHình I.1 cho ta thấy cấu trúc mạch nguyên lý của một phần tử TTL thực hiện chức năng đảo tích logic của hai giá trị đầu vào (NAND). Phần tử logic cơ bản thực hiện các hàm của đại số Boole như NOT, AND, NAND, OR, XOR, v.vTừ các phần tử này, người ta xây dựng được các mạch tổ hợp (Combinational Circuits) các mạch lật (FlipFlop) với những đặc tính chuyển đổi trạng thái khác nhau như R-S FlipFlop, D-FlipFlop, T- FlipFlop, J-K FlipFlop mà nhờ chúng, ta xây dựng được các mạch tuần tự (Sequencial Circuits) và các máy hữu hạn (Finite State Machine), những mạch tích hợp tạo nên các đơn vị chức năng cơ bản trong máy tính. R 1 R 2 R 3 R 4 T 1 T 2 T 3 T 4 Gnd Inputs Output B A Vcc F F = AB A B F Hình I.1. Sơ đồ nguyên lý mạch tạo phần tử NAND A A A Y Y Y Y=A Y=A Y=A A A B B Y Y Y=A+B A B A B Y Y Y=A+B Y=A+B A B Y Y=A B A B Y Y=A B Y=A+B A A B B Y Y Y= A.B Y=A.B A A B B Y Y Y=A.B Y=A.B Hình I.2. Một số phần tử logic cơ bản Nguyễn Trung Đồng – Tel 0983 410 866 5 Đặc biệt, mạch logic 3 trạng thái (Three-State Logic Circuit) là một mạch có ứng dụng rất quan trọng trong việc liên kết các phần tử chức năng của máy tính. Mạch logic 3 trạng thái có thể minh hoạ theo mô hình và bảng chân thực sau (Hình I.4), trạng thái có ký hiệu "HZ" là trạng thái thứ 3 của mạch, trạng thái trở kháng cao (High Impedance), khi mà lối vào có thể coi như được tách khỏi lối ra của mạch (không kết nối). Có hai loại mạch 3 trạng thái:, loại mạch có tín hiệu EN là tích cực cao, ứng với EN = "1" (Active High), loại thứ hai là mạch có tín hiệu EN tích cực thấp ứng với EN = "0" (Active Low). Hình I.3 . Các phần tử mạch lật (FlipFlop) thông dụng Nguyễn Trung Đồng – Tel 0983 410 866 6 2. Một số khái niệm cơ sở 2.1. Mạch logic tổ hợp (Combinational Circuit) Mạch logic tổ hợp là một mạch điện tử số mà giá trị các biến ở đầu ra chỉ phụ thuộc vào tổ hợp giá trị của các biến ở đầu vào (Hình I.5). Các biến vào i0, i1, , in nhận giá trị là "1" hoặc "0" tương ứng với giá trị của một biến nhị phân, trong mạch điện, chúng được thể hiện bằng các trạng thái "có điện áp" hoặc "không có điện áp". Các giá trị của đầu ra là hàm trực tiếp của các biến đầu vào, và được thay đổi gần như tức thời khi có sự thay đổi giá trị của biến đầu vào (chỉ trễ một khoảng thời gian rất nhỏ - hàng nano giây - do sự trễ của các linh kiện tạo nên mạch điện). Có thể nói tập các giá trị đầu vào i0 ÷ in được áp vào các lối vào của mạch tổ hợp logic gây nên sự biến đổi trạng thái (giá trị) của các biến đầu ra F0 ÷ Fm . Các mạch tổ hợp thông dụng thường thấy là mạch mã hoá, mạch giải mã, mạch dồn kênh, v.v Hình I.4. Phần tử 3 trạng thái (Three-State component) và bảng chân lý Mạch logic tổ hợp i0 i1 i2 in F0(i0,i1) F1(i0,i1,i4) F2(i2,i4,i5,i7) Fm(i2,i3,i6,in) Hình I.5. Mạch logic tổ hợp Nguyễn Trung Đồng – Tel 0983 410 866 7 2.2. Mạch tuần tự (Sequencial Circuit) Mạch này còn được gọi là mạch dãy. Giá trị của biến ra phụ thuộc không những vào giá trị các biến số đầu vào ở thời điểm đang xét, mà còn phụ thuộc vào trạng thái trước đó của mạch. Để duy trì được trạng thái của các biến số vào trước đó, mạch cần thêm các phần tử nhớ. Mô hình của mạch như sau: Zi = Fi (x1, x2, , xn , y1 , y2 , , yp); Yj = Gj (x1, x2, , xn , y1 , y2 , , yp) Trong đó Fi là hàm truyền đạt của mạch và Gj là hàm truyền đạt trạng thái; xi (i = 1, 2, ,n), Zi (i = 1, 2, , m) là các tín hiệu vào và tín hiệu ra của mạch; y1 , y2 , , yp : trạng thái của mạch trước khi biến đổi; Y1 , Y2 , , Yp : trạng thái của mạch sau khi biến đổi. Các phần tử nhớ là các phần tử logic có hai trạng thái ổn định ứng với các giá trị của biến nhị phân "0" và "1", thường là các mạch FlipFlop loại RS, JK hoặc D. 2.3. Máy hữu hạn (Finite State Machine) Máy hữu hạn là một loại mạch logic khác có Y1 Mạch tổ hợp Các phần tử nhớ y1 yp Yp x1 xn Zm Hình I.6. Mạch logic tuần tự Z1 Z2 Nguyễn Trung Đồng – Tel 0983 410 866 8 trạng thái trong (internal state), đầu ra của loại mạch này là hàm của giá trị đầu vào tại thời điểm đang xét và trạng thái trong hiện tại khi có tác động của tín hiệu vào. Mạch được tạo thành từ một mạch tổ hợp logic và các phần tử trễ, thông thường là các phần tử Flip-Flop trên mạch hồi tiếp như là những phần tử lưu giữ trạng thái trong của mạch. 2.4. Thanh ghi (Register) Thanh ghi là một mạch điện tử đặc biệt có khả năng lưu giữ các giá trị của một dữ liệu nhị phân được biểu diễn bằng trạng thái tồn tại hay không tồn tại điện áp. Phần tử cơ bản tạo nên một thanh ghi là D-FlipFlop. Trên hình vẽ mô tả, dữ liệu nhị phân 4 bit D3D2D1D0 (tổ hợp của hai giá trị "0" và "1" trên lối vào D tương ứng của các D-FlipFlop) sẽ được chuyển tới lối ra Q3Q2Q1Q0 và lưu giữ nhờ tổ hợp tín hiệu điều khiển ghi Write WR, tín hiệu xung nhịp đồng hồ CLK và tín hiệu cho phép Enable EN (Hình 1.7). Lưu ý rằng, tín hiệu ra của thanh ghi được đưa qua phần tử 3 trạng thái để tạo khả năng kết nối với những dữ liệu ở lối ra của các thành phần khác. Cũng cần nói thêm rằng: Thanh ghi hoàn toàn đảm nhận chức năng của một ô nhớ dữ liệu, vì mỗi khi giá trị dữ liệu nhị phân từ lối vào được ghi vào thanh ghi, dữ liệu đó không thay đổi cho đến thời điểm một dữ liệu mới được ghi vào. Dữ liệu lưu giữ trong ô nhớ có thể đọc ra được. Hình I.9. là sơ đồ nguyên lý của một thanh ghi dịch có khả năng ghi dịch theo các hướng trái, phải hoặc lưu giữ (Load) các dữ liệu nhị phân 4 bit D3D2D1D0 song song. 2.5. Mạch cộng hai số liệu nhị phân (Binary Adder) Mạch cộng đầy đủ 2 bit nhị phân có thể xây dựng như một mạch tổ hợp logic thực hiện phép cộng hai số nhị phân theo quy tắc trong bảng sau, trong đó Carry In là phần nhớ từ phép cộng của hàng bên phải trước đó, Operand A là giá trị của bit trong toán hạng A, Operand B là giá trị của bit trong toán hạng B. Kết quả phép cộng 2 bit cho ta tổng Sum và bit nhớ Carry Out. Hình I.7. Mạch tạo thanh ghi 4 bit Nguyễn Trung Đồng – Tel 0983 410 866 9 Trong ví dụ là phép cộng hai số nhị phân 0100B (giá trị bằng 4 trong hệ thập phân) với số 0110B (giá trị bằng 6 trong hệ thập phân). Hàng trên là giá trị của bit nhớ theo quy luật cộng đã nêu. Kết quả cho ta là 1010B (tức bằng 10 trong hệ thập phân). Từ quy tắc trên, giả thiết ta xây dựng được một mạch cộng đầy đủ thực hiện phép toán cộng như bảng giá trị của hàm Si và Ci và ký hiệu là một mạch cộng đầy đủ (Full adder) với các đầu vào là Ai , Bi và Ci , đầu ra là Si và Ci+1, ta có thể xây dựng mạch cộng hai dữ liệu nhị phân 4 bit bằng cách Sơ đồ mạch logic thực hiện phép cộng 2 bit nhị phân – Half Adder (HA) A B S C Hình I.8. Sơ đồ nguyên lý mạch tạo thanh ghi dịch 4 bit Nguyễn Trung Đồng – Tel 0983 410 866 10 nối nối tiếp 4 mạch cộng đầy đủ như Hình I.11. , hoặc mạch cộng hai số nhị phân n bit với n mạch cộng đầy đủ. Si Ai Bi Ci Ci+1 Hình I.10. Sơ đồ mạch logic thực hiện phép cộng 2 bit có nhớ từ hàng trước – FullAdder (FA) Hình I.11. Sơ đồ mạch logic thực hiện phép cộng 2 dữ liệu 4 bit Hình I.12. Sơ đồ mạch logic thực hiện phép giải mã chọn 1 trong 4 tổ hợp Nguyễn Trung Đồng – Tel 0983 410 866 11 Ngoài ra, có thể tham khảo thêm các mạch dồn kênh, mạch mã hoá và giải mã trong các tài liệu Kỹ thuật điện tử số được nêu trong tài liệu tham khảo ở cuối giáo trình này. Lưu đồ trong Hình I.13 cho ta thấy sơ lược các bước cơ bản trong quá trình thiết kế một máy tính và phạm vi nghiên cứu về Kiến trúc và tổ chức máy tính. High- level view C o m p u te r d e s ig n e r C ir c u it d e s ig n e r A p p lic a ti o n d e s ig n e r S y s te m d e s ig n e r L o g ic d e s ig n e r Software Hardware Computer organization Low- level view A p p lic a ti o n d o m a in s E le c tr o n ic c o m p o n e n ts Computer architecture Nguyễn Trung Đồng – Tel 0983 410 866 12 Chương II. Giới thiệu chung 1. Máy tính và kiến trúc máy tính 1.1. Mở đầu Máy tính được cấu thành từ các mạch điện tử tích hợp (integrated circuits – IC) rất phức tạp liên kết với nhau qua hệ thống kênh truyền dẫn được gọi là hệ thống BUS. Các khối chức năng cơ bản được xây dựng với công nghệ tích hợp mật độ lớn gồm đơn vị xử lý trung tâm (CPU – Central Proccessing Unit), khối tạo xung nhịp (Clock), bộ nhớ (Memorry) và các chip tạo các cổng (Port Chips) ghép nối thiết bị ngoại vi như minh hoạ trên Hình II.1 CPU được xây dựng từ các mạch điện tử phức tạp, có khả năng thực thi tất cả các lệnh trong tập lệnh được mô phỏng trước. Bộ nhớ được xây dựng từ các chip nhớ, có khả năng lưu giữ các lệnh của chương trình và dữ liệu. Các chip tạo cổng ... ................................................. 22 2.1. Liên kết các khối khối chức năng ...................................................................... 22 2.1.1. Bộ xử lý trung tâm (CPU) và bộ nhớ .......................................................... 22 2.1.2. CPU, bộ nhớ và thiết bị vào/ra .................................................................... 23 2.1.3. CPU, bộ nhớ, thiết bị vào ra và khả năng truy cập trực tiếp bộ nhớ ........... 24 Hình II.7. CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt ...................... 24 2.1.4. CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt .............................. 25 2.1.5. Khối xung nhịp (Clock) và khối điều khiển (Control) ................................ 25 2.2. Kiến trúc máy tính nhìn từ góc độ cấu trúc cơ bản ............................................ 25 3. Biểu diễn thông tin trong máy tính ......................................................................... 27 3.1. Mã hoá các thông tin không số .......................................................................... 27 3.2. Hệ đếm thập phân .............................................................................................. 28 3.3. Hệ đếm nhị phân ................................................................................................ 29 4. Chuyển đổi giữa các hệ đếm ................................................................................... 29 4.1. Chuyển đổi hệ thập phân sang hệ nhị phân ........................................................ 29 4.1.1 Chuyển đổi phần nguyên ............................................................................ 29 4.1.2. Chuyển đổi phần thập phân......................................................................... 30 4.2 Chuyển đổi hệ nhị phân sang các hệ Hexa, Octal ............................................... 30 Nguyễn Trung Đồng – Tel 0983 410 866 180 5. Các phép tính với số nhị phân ................................................................................. 31 5.1. Phép cộng ........................................................................................................... 32 5.2. Phép trừ .............................................................................................................. 32 5.3. Phép nhân ........................................................................................................... 32 5.4. Phép chia ............................................................................................................ 33 6. Biểu diễn dữ liệu số trong máy tính ....................................................................... 33 6.1. Biểu diễn số và số âm ........................................................................................ 33 6.2. Biểu diễn số dấu phẩy động (Floatting Point Number) ..................................... 35 6.2.1. Dạng đơn giản ............................................................................................. 35 6.2.2. Dạng chính xác gấp đôi............................................................................... 36 Chương III. Kiến trúc Trung tâm xử lý (CPU) ................................................ 37 1. Kiến trúc CPU ......................................................................................................... 37 1.1. Chức năng và kiến trúc của CPU ....................................................................... 37 1.2. Kiến trúc ALU ................................................................................................... 39 2. Phát triển kiến trúc CPU ......................................................................................... 43 2.1. Khái quát ............................................................................................................ 43 2.2. Tổ chức thanh ghi trong CPU họ x86 ................................................................ 45 3. Kiến trúc CU – Control Unit ................................................................................... 52 3.1. Khái quát ............................................................................................................ 52 3.3. Chức năng của CU ............................................................................................. 58 3.4. Kiến trúc CU ...................................................................................................... 59 4. Vài nét về Kiến trúc CPU Pentium của Intel® ........................................................ 61 4.1. Vai trò của chipset trong máy tính ..................................................................... 62 4.2. Vấn đề xung nhịp (Clock) .................................................................................. 63 4.3. Kỹ thuật đường ống (Pipeline) và xử lý song song mức lệnh ............................ 65 4.4. Về kiến trúc RISC, CISC ................................................................................... 67 Chương IV. Chương trình và thực hiện chương trình ..................................... 70 1. Tổng quan về lập chương trình cho máy tính ........................................................ 70 2. Lệnh và thực thi lệnh ............................................................................................... 71 2.1. Kiến trúc của lệnh .............................................................................................. 71 2.1. Tập lệnh cơ bản của máy tính ............................................................................ 72 3. Kiến trúc thanh ghi của CPU .................................................................................. 74 4.1. Các bước thực thi một chưong trình .................................................................. 76 4.2. Thực thi lệnh và thực hiện chương trình ............................................................ 77 4.3. Chu kỳ đọc lệnh ................................................................................................. 78 4.4. Thanh ghi đệm dữ liệu (MBR) và thanh ghi địa chỉ bộ nhớ (MAR) ................. 78 4.5. Thực hiện lệnh ................................................................................................... 79 Nguyễn Trung Đồng – Tel 0983 410 866 181 4.6. Bộ giải mã lệnh (ID) .......................................................................................... 79 4.7. Giải mã lệnh ....................................................................................................... 80 4.8. Nhập toán hạng, xử lý và lưu dữ liệu ................................................................. 80 5. Ngắt và cơ chế ngắt (Interupt) ................................................................................ 84 5.1. Phân loại ngắt ..................................................................................................... 85 5.2. Bảng véc tơ ngắt ................................................................................................ 86 5.2. Cơ chế gọi chương trình con .............................................................................. 87 6. Lệnh hai địa chỉ ....................................................................................................... 89 6.1. Các chế độ thực hiện lệnh hai địa chỉ ................................................................ 90 6.2. Kiến trúc RISC và CISC .................................................................................... 90 6.3. Kiến trúc xử lý song song .................................................................................. 91 7. Các phương pháp đánh địa chỉ ô nhớ.................................................................... 92 7.1. Quản lý bộ nhớ ................................................................................................... 92 7.2. Quản lý bộ nhớ, các mode địa chỉ trong CPU 8086........................................... 94 7.3. Biểu diễn lệnh và dữ liệu ................................................................................... 99 7.4. Yêu cầu đối với các phương pháp đánh địa chỉ trong lệnh .............................. 100 7.5. Phương pháp đánh địa chỉ trực tiếp ................................................................. 100 7.6. Phương pháp đánh địa chỉ tức thời .................................................................. 101 7.7. Phương pháp đánh địa chỉ tương đối ............................................................... 101 7.8. Phương pháp đánh địa chỉ gián tiếp ................................................................. 102 7.9. Mã hóa các phương pháp đánh địa chỉ ............................................................. 102 Chương V. Liên kết các thành phần chức năng - bus .................................... 104 1. Khái niệm BUS trong máy tính ............................................................................. 104 2. Bus hệ thống .......................................................................................................... 105 2.1. Bus địa chỉ ........................................................................................................ 106 2.2. Bus dữ liệu ....................................................................................................... 106 2.3. Định thời hoạt động Ghi/Đọc trong giao tiếp CPU với bộ nhớ ....................... 107 2.3. Giao tiếp CPU với thiết bị ngoại vi .................................................................. 109 2.4. Bus điều khiển .................................................................................................. 110 2.5. Truy nhập trực tiếp bộ nhớ và ngắt .................................................................. 111 3. Hoạt động của bus ................................................................................................. 113 3.1. Hoạt động của bus ............................................................................................ 113 3.2. Kết nối các thiết bị lên bus ............................................................................... 113 3.3. Phân cấp bus .................................................................................................... 114 3.4. Các đặc trưng thiết kế bus ................................................................................ 115 3.4.1. Kiểu bus .................................................................................................... 115 3.4.2. Điều khiển ................................................................................................. 116 3.4.3. Chu kỳ bus ................................................................................................ 116 Nguyễn Trung Đồng – Tel 0983 410 866 182 Chương VI. Kiến trúc bộ nhớ .......................................................................... 119 1. Bộ nhớ trong của máy tính .................................................................................... 119 1.1. Phần tử nhớ, vi mạch nhớ, từ nhớ và dung lượng bộ nhớ ................................ 119 1.2. Xây dựng bộ nhớ với các chip SRAM ............................................................. 122 1.2.1. Tổ chức bộ nhớ với DRAM ...................................................................... 123 1.2.2. Phân loại các chip nhớ ROM, RAM ......................................................... 124 1.2.3. Tổ chức bộ nhớ vật lý ............................................................................... 125 2. Vấn đề quản lý bộ nhớ ........................................................................................... 127 2.1. Chiến lược phân trang (Paging) ....................................................................... 127 2.2. Chế độ bảo vệ (Protected Mode) và quản lý bộ nhớ trong chế độ bảo vệ ....... 131 2.2.1. Các mức đặc quyền và luật về quyền truy nhập ....................................... 132 2.2.2. Quản lý bộ nhớ theo phân đoạn trong chế độ bảo vệ ................................ 133 2.3. Cơ chế hoạt động đa nhiệm .............................................................................. 142 2.4. Tổ chức bộ nhớ cache ................................................................................. 143 2.5. Trường hợp gặp lệnh rẽ nhánh .................................................................... 145 2.6. Các phương thức đánh địa chỉ cache .......................................................... 145 2.7. Cache liên hợp và cache ánh xạ trực tiếp .................................................... 148 3. Bộ nhớ ngoài của máy tính ................................................................................... 154 3.1. Đĩa từ ................................................................................................................ 155 3.2. Đĩa quang ......................................................................................................... 155 3.3. Bộ nhớ Flash .................................................................................................... 155 Chương VII. Thiết bị ngoại vi của máy tính .................................................. 157 1. Bàn phím Hex Keyboard ....................................................................................... 159 2. Ghép nối bàn phím với máy tính ........................................................................... 163 2.1. Hệ thống bàn phím của máy vi tính ................................................................. 163 2.2. Quá trình truyền dữ liệu từ bàn phím cho CPU ............................................... 164 3. Mạch điều khiển và lập trình chỉ thị 7-segments ................................................. 165 4. Màn hình (Monitor) ............................................................................................... 167 4.1. Màn hình ống tia âm cực CRT (Cathode Ray Tube) ....................................... 167 4.2. Ghép nối màn hình với máy tính...................................................................... 168 4.3. Bộ điều khiển màn hình CRTC ........................................................................ 169 Chương VIII. Kỹ thuật và công cụ phát triển phần mềm máy tính ............ 172 1. Thuật giải và lưu đồ ............................................................................................... 173 2. Lập trình hợp ngữ (Assemblers) ........................................................................... 174 3. Chương trình dịch (Compilers) ............................................................................. 176 4. Liên kết và định vị (Linkers and Locators) ........................................................... 176 Nguyễn Trung Đồng – Tel 0983 410 866 183 5. Chương trình thông dịch (Interpreters) ................................................................ 177 6. Hệ điều hành (Operating Systems) ....................................................................... 177 TÀI LIỆU THAM KHẢO ................................................................................. 178 MỤC LỤC ........................................................................................................... 179
File đính kèm:
- giao_trinh_kien_truc_may_tinh.pdf