Các khối cơ bản của máy tính

14 1 0
Các khối cơ bản của máy tính

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chào mừng bạn đến với kho tàng kiến thức về Các Khối Cơ Bản Của Máy Tính kết hợp với vi xử lý 80888086 một bộ tài liệu hấp dẫn và chi tiết sẽ làm cho bạn tiến xa hơn trong việc hiểu sâu về kiến trúc điển hình của máy tính cổ điển. Bộ tài liệu này đưa bạn vào một hành trình sâu sắc qua các thành phần quan trọng như CPU, RAM, ổ cứng, bo mạch chủ và cụ thể là vi xử lý 80888086 một trong những kiến trúc đầu tiên và quan trọng trong lịch sử máy tính. Trong hướng dẫn này, bạn sẽ khám phá các chức năng cơ bản của vi xử lý 80888086 và cách nó hoạt động cùng với các khối cơ bản khác để tạo nên một hệ thống máy tính hoàn chỉnh. Bạn sẽ tìm hiểu về các thanh ghi của vi xử lý 80888086 và cách chúng tham gia vào quá trình xử lý dữ liệu và lưu trữ thông tin. Bên cạnh đó, bộ tài liệu cũng giới thiệu về ngôn ngữ lập trình lắp ráp, giúp bạn hiểu cách lập trình trực tiếp các lệnh cho vi xử lý 80888086 và tận hưởng sự thú vị khi điều khiển máy tính một cách tự động. Dành cho những người tò mò về bản sắc cổ điển của máy tính và mong muốn khám phá sâu hơn về kiến trúc phức tạp của nó, bộ tài liệu Các Khối Cơ Bản Của Máy Tính Kết Hợp Với Vi xử lý 80888086 là một nguồn kiến thức quý giá. Nắm vững kiến thức cơ bản này sẽ giúp bạn hiểu rõ hơn về tiến bộ công nghệ và phát triển vượt bậc của thế giới số ngày nay. Hãy mua ngay để bắt đầu hành trình khám phá và khẳng định sự đam mê với máy tính và công nghệ

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIA ĐỊNH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO Kiến trúc máy tính hệ điều hành TÊN ĐỀ TÀI TÌM HIỂU VỀ CÁC KHỐI CƠ BẢN CỦA MÁY TÍNH VÀ BỘ VI XỬ LÝ Giáo viên môn: PHÙNG QUỐC BẢO Nhóm thực hiện: NHĨM STT TÊN Nguyễn Chung Hồng (trưởng nhóm) Nguyễn Thành Luân Lê Thị Phương Chung Trần Minh Chiến Phạm Lê Huy Tiến Khóa: 15 MSSV 2104110066 2104110054 2104110075 2104110096 2104110072 Học kỳ 2, ngày 06 tháng năm 2022 LỚP K15DCPM02 MỤC LỤC PHẦN 1: CÁC KHỐI CƠ BẢN CỦA MÁY TÍNH 1.1 Bộ vi xử lý trung tâm (CPU) 1.2 Bộ nhớ 1.3 Mạch ghép nối vào/ra PHẦN 2: TỔ CHỨC BỘ VI XỬ LÝ 8086 .4 2.1 Bộ xử lý Intel – 8086 (CPU – 8086) 2.1.1 Cấu trúc tổng quát 2.1.2 Các ghi 8086 2.2 Bộ nhớ Intel 8086 2.2.1 Tổ chức liệu 2.2.2 Sự phân đoạn nhớ 10 2.3 Địa ngoại vi 11 PHẦN 1: CÁC KHỐI CƠ BẢN CỦA MÁY TÍNH Một máy tính (hay hệ vi xử lý) bao gồm khối chức sau: - Bộ vi xử lý (CPU) Bộ nhớ bán dẫn (ROM, RAM) Mạch ghép nối vào/ra Bus hệ thống để truyền thông tin khối, bus hệ thống gồm bus điều khiển, bus địa bus liệu Bus liệu Bus địa Bus điều khiển Vi xử lý (CPU) 1.1 Bộ nhớ (ROM, RAM) Mạch ghép nối vào/ra Thiết bị vào Thiết bị Bộ vi xử lý trung tâm (CPU) Bộ vi xử lý trung tâm cốt lõi máy vi tính CPU thực tính toán xử lý hệ thống, ngoại trừ xử lý tăng cường tính tốn đặc biệt hệ thống có chip đơn vị đồng xử lý tốn, mà chip tích hợp CPU Tất máy tính IBM tương thích IBM sử dụng xử lý họ Intel tương thích với xử lý họ Intel, dù xử lý nhiều công ty khác thiết kế sản xuất, gồm AMD, IBM, Cyric 1.2 Bộ nhớ Bộ nhớ (hay gọi nhớ trong, nhớ chính) tạo từ vi mạch nhớ ROM RAM nơi chứa chương trình cần thực thi ROM (Read Only Memory – nhớ đọc), nội dung bên ROM nhà sản xuất nạp sẵn không bị mất nguồi nuôi, dùng để chứa chương trình điều khiển hệ thống chương trình để kiểm tra thiết bị bật nguồn, chương trình khởi động máy, chương trình điều khiển trao đổi tin với thiết bị ngoại vi bàn phím, hình, RAM (Read Access Memory – nhớ truy cập ngẫu nhiên) nhớ ghi/đọc được, có nghĩa đọc thơng tin từ nhớ, xóa thơng tin cũ nhớ ghi thông tin vào nhớ; nội dung thông tin ghi nhớ RAM bị mất nguồn lượng cung cấp RAM dùng để lưu trữ mã lệnh, toán hạng kết chương trình thực Trong máy tính, nhớ RAM module dạng cắm bảng mạch máy, thường có dung lượng 8GB, 16GB, 32GB RAM chia thành loại: - RAM tĩnh (SRAM): có khả lưu trữ số liệu mãi không nguồn nuôi RAM động (DRAM): loại RAM phải làm tươi (refresh) tức phải nạp lại liệu lưu trữ theo chu kì Làm tươi cách tái đọc ghi nhắc lại Cấu trúc nhớ: Các mạch nhớ nói chung tổ chức dạng ma trận, gồm hàng cột để xác định vị trí hay địa nhớ Mỗi ô ma trận gọi phần tử (cell) hay vị trí nhớ (memory location) Vị trí hay phần tử nhớ dị tìm cách chọn địa nhờ mạch giải mã địa Mạch gồm hai phần: mạch chọn địa hàng RAS (row-address selector) mạch chọn địa cột CAS (Column-address selector) Các đường dây địa chọn địa hàng cột Đường dây enable dùng để mở mạch điện lối nhớ theo ba trạng thái Còn đường dây Read/write định dạng thao tác thực Bộ nhớ có tổ chức bit loại có tổ chức lời (word organized) Bộ nhớ tổ chức bit lưu giữ bit đơn vị trí địa Bộ nhớ tổ chức lời lựa chọn nhóm phần tử nhớ lúc với vị trí địa Mỗi nhóm phần tử nhớ thường byte (8 bit), lời (16 bit) Column address selector (CAS) Memory address lines from system Read/write enable Row address selector (RAS) Memory matrix Data Buffers Data lines Device enable Sơ đồ khối (Block diagram) 1.3 Mạch ghép nối vào/ra Mạch ghép nối vào/ra có nhiệm vụ tạo khả giao tiếp hệ vi xử lý với giới bên ngồi Các thiết bị vào/ra (hay cịn gọi thiết bị ngoại vi) bao gồm thiết bị vào (bàn phím, chuột, máy qt, ), thiết bị (màn hình, máy in, ), thiết bị lưu trữ (còn gọi nhớ ngồi) dùng để lưu thơng tin với khối lượng lớn (CD, ổ đĩa DVD, ) Mạch ghép nối vào/ra vi mạch cỡ nhỏ 8255 để ghép nối song song, 8251 để ghép nối tiếp, Tuy nhiên máy tính mạch ghép nối vào/ra mạch cỡ lớn (VLSI) gọi chipset VD: chipset 848P Intel cho phép ghép nối vi xử lý với cổng đồ họa tốc độ cao AGP 8x với ổ đĩa cứng kiểu SATA, với hệ thống âm 5.1, với thiết bị vào/ra qua cổng USB, 1.4 Bus hệ thống Bus hệ thống tập hợp tất đường dây dùng để liên lạc khối chức hệ thống Dựa vào chức đường dây người ta chia chúng làm nhóm: - - Bus điều khiển đường dây mang tín hiệu điều khiển hoạt động phản ánh trạng thái khối /RD (Read – đọc nhớ thiết bị vào), /WR (Write – ghi liệu vào nhớ xuất liệu thiết bị ra), INT (interupt – ngắt vi xử lý để trao đổi liệu), Bus liệu đường dây mang số liệu mà vi xử lý trao đổi với nhớ thiết bị vào/ra Bus địa mang thông tin địa ô nhớ hay thiết bị vào/ra mà vi xử lý trao đổi tin Thông tin địa vi xử lý phát để chọn nhớ thiết bị vào/ra mà cần trao đổi tin PHẦN 2: TỔ CHỨC BỘ VI XỬ LÝ 8086 2.1 Bộ xử lý Intel – 8086 (CPU – 8086) 2.1.1 Cấu trúc tổng quát Intel-8086 CPU 16 bit (bus liệu ngoại có 16 dây) Nó dùng để chế tạo máy vi tính PC-AT hãng IBM vào năm 1981 Trong thực tế, hãng IBM dùng CPU 8088 (là dạng CPU 8086 với bus số liệu giao tiếp với ngoại vi bit) để chế tạo máy vi tính cá nhân gọi PC-XT Cho đến CPU 8086 không ngừng cải tiến trải qua phiên 80186, 80286, 80386, 80486, Pentium (80586), Pentium Pro, Pentium MMX, Pentium II, III, Các CPU tương thích từ xuống (downward compatible) nghĩa tập lệnh CPU chế tạo gồm tập lệnh CPU chế tạo trưóc bổ sung thêm nhiều lệnh mạnh khác Cấu trúc tổng quát CPU-8086 gồm phận là: Bộ thực lệnh phận giao tiếp bus Hình 1.1: Sơ đồ khối CPU 8086 2.1.1.1 Bộ phận thực lệnh (EIU) Thi hành tác vụ mà lệnh yêu cầu như: Kiểm soát ghi (đọc/ghi), giải mã thi hành lệnh Trong EU có tính tốn luận lý (ALU) thực phép toán số học luận lý Các ghi đa dụng ô nhớ bên CPU chứa liệu tương tự ô nhớ nhớ Cờ ghi dùng để ghi lại trạng thái hoạt động ALU Thanh ghi lệnh chứa nội dung lệnh mà CPU thực Các ghi bus EU 16 bit EU không kết nối trực tiếp với bus hệ thống bên ngồi Nó lấy lệnh từ hàng chờ lệnh mà BIU cung cấp Khi có yêu cầu truy xuất nhớ hay ngoại vi EU yêu cầu BIU làm việc BIU tái định địa phép EU truy xuất đầy đủ MB (8086 có 20 đường địa ngoại) 2.1.1.2 Bộ giao tiếp (BIU) BIU thực chức giao tiếp EU với bên (Bộ nhớ, thiết bị ngoại vi …) thông qua hệ thống BUS ngoại (bus liệu bus địa chỉ) BIU thực tất tác vụ bus EU có yêu cầu Khi EU cần trao đổi liệu với bên ngồi, BIU tính tốn địa truy xuất liệu để phục vụ theo yêu cầu EU Trong BIU có ghi CS, DS, ES, SS IP chứa địa Thanh ghi IP chứa địa lệnh thi hành nên gọi trỏ lệnh EU BIU liên lạc với thông qua hệ thống bus nội Trong EU thực lệnh BIU lấy lệnh từ nhớ nạp đầy vào hàng chờ lệnh (6 bytes) Do EU khơng phải đợi lấy lệnh từ nhớ Đây dạng đơn giản cache để tăng tốc độ đọc lệnh 2.1.2 Các ghi 8086 Thanh ghi (register) thành phần lưu trữ liệu bên CPU, ghi có độ dài định (16 bit bit) nhận biết tên riêng Tùy vào độ dài chức mà ghi có cơng dụng chứa liệu kết phép toán, địa dùng để định vị nhớ cần thiết Nội dung ghi truy xuất thơng qua tên riêng nó, tên ghi từ khóa quan trọng cần phải lưu ý lập trình CPU-8086 có 16 ghi, ghi 16 bit, chia nhóm sau: - Thanh ghi đoạn: Gồm ghi 16 bit: CS, DS, ES, SS Đây ghi dùng để chứa địa đoạn ô nhớ cần truy xuất Mỗi ghi đoạn quản lý đoạn tối đa 64K ô nhớ nhớ Người sử dụng phép truy xuất ô nhớ dựa vào địa tương đối CPU (cụ thể BIU) có nhiệm vụ chuyển đổi địa tương đối thành địa tuyệt đối để truy xuất vào ô nhớ tuyệt đối tương ứng nhớ + CS: Thanh ghi đoạn mã lệnh, lưu địa đoạn chứa mã lệnh chương trình người sử dụng + DS: Thanh ghi đoạn liệu, lưu địa đoạn chứa liệu (các biến) chương trình + ES: Thanh ghi đoạn liệu thêm, lưu địa đoạn chứa liệu thêm chương trình + SS: Thanh ghi đoạn ngăn xếp, lưu địa đoạn vùng ngăn xếp CS Code Segment DS Data Segment ES Extra data Segment SS Stack Segment Thông thường bốn ghi chứa giá trị khác nhau, chương trình truy cập bốn đoạn khác chương trình truy cập lúc tối đa bốn đoạn Mặc khác, chương trình nhỏ, sử dụng đoạn nhất, bốn ghi chứa giá trị địa đoạn, gọi đoạn chung - Thanh ghi đa dụng (General Register): Bao gồm bốn ghi đa dụng 16 bit (AX, BX, CX, DX) Mỗi ghi đa dụng sử dụng với nhiều mục đích khác nhau, nhiên ghi có cơng dụng riêng AH AL BH AX (Accumulator) BL BX (Base register) CH CL CX (Count register) DH DL DX (Data register) + AX: Là ghi tích lũy Mọi tác vụ vào/ra dùng ghi này, tác vụ dùng số liệu tức thời, số tác vụ chuỗi ký tự lệnh tính tốn dùng AX + BX: Thanh ghi dùng để tính tốn địa nhớ + CX: Là ghi đếm, thường dùng để đếm số lần lệnh vòng lặp lệnh xử lý chuổi ký tự + DX: Thanh ghi liệu, thường chứa địa số lệnh vào/ra, lệnh tính tốn số học (kể lệnh nhân chia) Mỗi ghi 16 bit chia đơi thành ghi bit Do đó, CPU-8086 có ghi bit là: AH, AL; BH, BL; CH, CL; DH, DL (thanh ghi AH AL tương ứng với byte cao byte thấp ghi AX, tương tự cho ghi bit lại) VD: AX = 1234h => AH = 12h, AL = 34h - Thanh ghi trỏ số (Pointer & Index register): Chức chung nhóm ghi chứa địa độ dời ô nhớ vùng liệu hay ngăn xếp + SI: Thanh ghi số nguồn + DI: Thanh ghi số đích + BP: Thanh ghi trỏ nên dùng để lấy số liệu từ ngăn xếp + SP: Thanh ghi trỏ ngăn xếp vào đỉnh ngăn xếp SI Source Index Reg DI Destination Index Reg BP Base Pointer Reg SP Stack Pointer Reg SI DI chứa địa độ dời ô nhớ tương ứng đoạn có địa chứa DS ES (dữ liệu, gọi Biến) Còn BP SP chứa địa độ dời ô nhớ tương ứng đoạn có địa chứa SS, dùng để thâm nhập số liệu ngăn xếp - Thanh ghi đếm chương trình ghi trạng thái (Cờ): F Flag Register IP Intrucstion Pointer Reg Thanh ghi trỏ lệnh IP (còn gọi PC – đếm chương trình) ghi 16 bit chứa địa lệnh mà CPU thực Các lệnh chương trình có địa đoạn CS Thanh ghi Cờ (F) dài 16 bit, bit cờ Mỗi cờ có giá trị (gọi SET– Đặt) (gọi CLEAR – Xóa) Hình 1.2 mô tả bit số 16 bit tương ứng với cờ trạng thái (các bit lại dùng cho dự trữ mở rộng thiết kế CPU khác) Thanh ghi cờ chia làm hai nhóm: + Nhóm cờ điều khiển (bảng 1.1) bao gồm cờ dùng để điều khiển hoạt động CPU giá trị cờ thiết lập lệnh phần mềm + Nhóm cờ trạng thái (bảng 1.2) bao gồm cờ phản ánh kết thực lệnh trạng thái CPU 15 14 13 12 11 10 O D I T S Z A P C Hình 1.2: Cấu trúc ghi Cờ KÍ HIỆU Ý NGHĨA TÊN Nhóm cờ điều khiển TF Bẩy (Trap) TF = 1: cho phép chương trình chạy bước IF Ngắt (Interrupt) DF Hướng DF = 1: SI DI giảm cho vịng lặp (Direction) IF = 1: cho phép ngắt phần cứng Nhóm cờ trạng thái CF Số giữ (Carry) CF = 1: có số nhớ mượn từ MSB phép cộng trừ.(Có tthể bị thay đổi theo lệnh ghi dịch quay) PF Chẳn lẻ (Parity) PF = 1: byte thấp ghi kết phép tính có số lượng bit chẳn AF Số giữ phụ (Hafl) AF = 1: có nhớ mượn từ bit phép cộng trừ Dùng lệnh với số BCD Zero ZF = 1: kết phép tính SF Dấu (Sign) SF = kết phép tính âm (MSB=1).SF = kết dương (MSB=0) OF Tràn OF = 1: kết vượt khả tính tốn (Overflow) CPU ZF Bảng 1.1: Ý nghĩa cờ Trạng thái tràn: Trạng thái tràn không xảy (nếu không tràn) xảy (nếu tràn có dấu, tràn khơng dấu, đồng thời tràn có dấu khơng dấu) Nói chung có trạng thái tràn: Tràn khơng dấu Tràn có dấu Lưu ý: Nếu giá trị có MSB = (bit dấu) CPU ln ln cho số có dấu a Tràn không dấu: CF = VD: AX, BX ; với AX = 0FFFFh, BX = + Nếu xem số khơng dấu AX không đủ chứa kết nên TRÀN không dấu, CF = + Nếu xem số có dấu kết (vì AX = -1) nên khơng tràn, OF = b Tràn có dấu: OF = VD: AX, BX ; với AX = BX = 7FFFh = 32767 + Nếu xem số khơng dấu AX = 7FFFh + 7FFFh = 0FFFEh = 65534 nên khơng tràn + Nếu xem số có dấu tràn kết vượt phạm vi cho phép số có dấu (cộng số dương, kết lại số âm) Thật trường hợp này, CPU làm cho OF = theo qui tắc "Nhớ vào MSB xảy khơng đồng thời” nghĩa có nhớ vào MSB khơng có nhớ ngược lại tràn khơng có có nhớ vào MSB không tràn 2.2 Bộ nhớ Intel 8086 2.2.1 Tổ chức liệu Bộ nhớ tổ chức thành mảng gồm ô nhớ bit liên tực Các liệu ghi vào đọc (gọi truy xuất) từ vị trí nhớ Mỗi nhớ bit phần cứng quản lý địa vật lý Việc truy xuất nội dung ô nhớ phải địa vật lý Dữ liệu bit lưu trữ ô nhớ địa nhớ địa dùng để truy xuất liệu Dữ liệu nhiều bit lưu trữ nhiều ô nhớ liên tục Theo quy ước Intel, byte liệu cao lưu ô nhớ có địa cao byte liệu thấp lưu nhớ có địa thấp Khi đó, địa dùng để truy xuất liệu địa ô nhớ thấp (ô nhớ chứa byte thấp liệu) Bộ nhớ Địa (A0h byte cao, B1h byte thấp) A0h 0016h Giá trị: 0A0B1h B1h 0015h A2h 0014h (C0h byte thấp nhất, A2h byte cao nhất) B1h 0013h Giá trị: 0A2B1C0h C0h 0012h 0011h Giá trị: 5Fh 5Fh 0010h Hình 1.3: Tổ chức liệu nhớ Hình 1.3 mơ tả việc tổ chức liệu có độ dài khác nhớ Giá trị 5Fh (1 byte) lưu trữ địa 0010h Giá trị 0A0B1h (2 byte) lưu trữ ô nhớ có địa 0015h 0016h, địa để truy xuất giá trị 0015h Còn giá trị 0A2B1C0h (3 byte) lưu trữ ô nhớ 0012h, 0013h 0014h, địa truy xuất giá trị 0012h 2.2.2 Sự phân đoạn nhớ CPU 8086 có khơng gian địa 1MB (ứng với 20 bit địa chỉ) Nên dùng phương pháp phân đoạn nhớ để quản lý hớ 1MB Địa 20 bit nhớ 1MB chứa đủ ghi 16 bit CPU 8086 → nhớ 1MB chia thành đoạn (Segement) 64KB Mỗi đoạn có địa đoạn 16 bit nhất, tùy vào mục đích sử dụng đoạn mà địa đoạn lưu trữ ghi đoạn tương ứng Đối với người lập trình, địa nhớ nhớ xác định hai thông số 16 bit (gọi địa logic): địa đoạn (segment) địa độ dời (offset) Cách viết: Segment : Offset Địa vật lý ô nhớ truy xuất BIU tự động chuyển đổi từ địa logic cách dịch trái ghi đoạn bốn bit (tức nhân nội dung ghi đoạn cho 16) cộng với địa độ dời Vì vậy, người lập trình khơng cần địa vật lý nhớ mà cần biết địa logic ô nhớ Cơng thức tính địa Vật Lý (Phy addr): Phy addr = Segement x 10h + Offset Trong đó: + Phy addr: địa Vật Lý + Segement: địa đoạn + Offset: địa độ dời VD1: Đoạn CS có giá trị 1002h, địa độ dời ô nhớ K đoạn CS 500h (CS:0500h 1002h:0500h) Khi đó, địa vật lý nhớ K tính sau: Phy addr = Segement x 10h + Offset = 1002h x 10h + 0500h = 10020h + 0500h (Vì 1002h dịch trái bit) = 10520h Vậy địa Vật Lý 10520h Trong ví dụ trên, đoạn CS có điểm bắt đầu địa vật lý 10020h Độ dời 500h khoảng cách từ địa điểm bắt đầu đoạn CS đến ô nhớ K VD2: Cho địa vật lý : 10030h, địa logic CS : 1000 Tính đoạn CS Sagement = = (Vì 10030h dịch phải bit) Vậy CS = 0F03h 10 Khi truy xuất ô nhớ, BIU lấy sử dụng địa đoạn ghi đoạn tương ứng với tính chất nhớ cần truy xuất:Ơ nhớ Code (Mã lệnh) đoạn tương ứng CS: - Ô nhớ Data (dữ liệu) đoạn tương ứng DS - Ơ nhớ nằm ngăn xếp dùng đoạn SS - Khi truy xuất chuỗi, DI SI chứa độ dời ô nhớ đoạn DS hay ES Khi khởi động, CPU 8086 nhảy đến địa vật lý cao nhớ (đoạn CS = 0FFFFh độ dời 0) để lấy lệnh Địa ứng với địa ROMBIOS nhớ nơi chứa chương trình khởi động máy tính Bộ nhớ Địa vật lý 10521h Ô nhớ K 10520h đoạn CS (CS:500h) 1051Fh Độ dời 500h tính từ điểm đầu đoạn CS - - - - Ơ nhớ có độ dời 05h 10025h 501h nhớ 10024h 10023h Ơ nhớ có độ dời 01h 10022h Ơ nhớ có độ dời 0h đoạn CS (CS:00h) 10021h 10020h Điểm đầu đoạn CS 1001Fh Hình 1.4: Địa vật lý ô nhớ K đoạn CS 2.3 Địa ngoại vi Các ngoại vi có địa riêng từ đến 64 KB CPU 8086 dùng lệnh riêng biệt để truy xuất ngoại vi nhớ Muốn truy xuất ngoại vi, BIU cần đưa địa ngoại vi lên 16 bit thấp bus địa (khơng có đoạn) 11

Ngày đăng: 26/07/2023, 22:52

Tài liệu cùng người dùng

Tài liệu liên quan