Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
594,37 KB
Nội dung
Nguyễn Đình Vũ 0941360410 ktpm1 k9 LỜI NÓI ĐẦU Khoa học ngày phát triển mạnh mẽ, nhu cầu sử dụng công nghệ ngày cao, yêu cầu độ xác suất hoạt động cao Từ yêu cầu đó, người cần phải sản xuất phát minh công cụ, sản phẩm ứng dụng phát triển ngành công nghệ lập trình Cùng với nhu cầu học tập nghiên cứu ứng dụng công nghệ vi xử lý ngày tăng Đi tiên phong hệ vi xử lý lập trình theo nhu cầu mong muốn người, nhà sản xuất chip vi xử lý Intel phát triển chế tạo thành công chip 4004 vào năm 1971 Là vi xử lý bit mở đầu cho kỷ nguyên hệ vi xử lý máy tính Một mốc son quan trọng mà Intel đạt hãng sản xuất vi xử lý mang tên 8086 có độ rộng liệu lên đến 16 bit với 29000 bóng bán dẫn tích họp bên trong, vi xử lý mở đầu cho họ vi xử lý x86 Bộ vi xử lý 8086 mang lại bùng nổ công nghệ với có mặt hầu hết máy tính thời kỳ Sau tìm hiểu rõ thành phần, cấu tạo chức CPU 8086 Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 I Tổng quan vi xử lý máy tính Lịch sử phát triển máy tính vi xử lý Lịch sử phát triển vi xử lý gắn liền với phát triển vi mạch điện tử vi xử lý vi mạch điện tử chế tạo theo công nghệ LSI (large scale integrated – vi xử lý chứa khoảng 3000 tới 100000 transistor) VLSI (very large scale integrated - tích hợp với quy mô rộng, tức vi xử lý chứa khoảng từ 10 triệu transistor trở lên ) Với khám phá transistor phát triển công nghệ chế tạo vi mạch SSI, MSI, máy tính nhóm gồm nhiều IC kết hợp lại với nhau, thập niên 70, với phát triển công nghệ LSI, cấu trúc máy tính rút gọn nhà thiết kế chế tạo thành IC gọi vi xử lý (microprocessor) Vi xử lý kết hợp với thiết bị khác tạo racác máy tính có khả tính toán lớn máy vi tính tạo sản phẩm khác máy điện thoại, tổng đài điện thoại, hệ thống điều khiển tự động Vi xử lý có khả xử lý bit liệu, vi xử lý có tốc độ xử lý chậm, nhà thiết kế cải tiến thành vi xử lý bit, sau vi xử lý 16 bit 32 bit Sự phát triển dung lượng bit vi xử lý làm tăng thêm số lượng lệnh điều khiển lệnh tính toán phức tạp a Thế hệ máy tính khí Ý tưởng hệ thống tính toán có từ lâu, khoảng 500 năm trước Công nguyên, người Babylon chế tạo máy tính có tên Abacus Năm 1643, Blaise Pascal chế tạo thành công máy tính tạo bánh răng, số bánh gấp 10 lần số bánh kia, nguyên lý sau sử dụng để chế tạo đồng hồ đo quãng đường motor, đồng hồ đo nước b Thế hệ máy tính điện - điện tử Năm 1889, Herman Holerith phát minh card đục lỗ dùng để lưu trữ liệu, sau ông chế tạo thành công máy tính khí điều khiển motor điện, thực phép đếm, xếp so sánh thông tin lưu card đục lỗ Năm 1942, nhà phát minh ngưòi Đức Konrad Zure chế tạo máy tính điện tử Z3 dùng cho không quân Đức Năm 1943, Alan Turing phát minh hệ thống máy tính điện tử có tên Collossus thiết kế từ đèn điện tử chân không, máy tính chuyên dụng thực theo chương trình cố định để giải mã bí mật quân Đức quốc xã Máy tính điện tử đa dụng - hệ máy tính khả trình - phát triển Đại học Pennsylvania có tên ENIAC (Electronics Numerical Integrator And Calculator) Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Đây máy tính lớn chứa 17000 đèn điện tử, nặng khoảng 30 thực 100000 thao tác giây ENIAC lập trình cách nối lại mạch điện, công việc thực công nhân nhiểu thời gian Ngoài ra, việc bảo dưỡng phải thực thường xuyên tuổi thọ đèn điện tử thấp c Thế hệ máy tính dùng vi xử lý Lịch sử phát triển vi xử lý gắn liền với hãng Intel Tập đoàn Intel (Integrated Electronics) thành lập vào ngày 18/7/1968 Santa Clara, California, Hoa Kỳ Intel sản xuất sản phẩm chip vi xử lý cho máy tính, bo mạch chủ, ổ nhớ flash, card mạng thiết bị máy tính khác • Năm 1948, transistor phát minh, đến năm 1958, Jack Kilby phát minh mạch tổ hợp - sơ để phát triển vi mạch số Tháng năm 1971, Marcian T.Hoff kỹ sư Intel thiết kế vi xử lý 4004 – mở đầu cho thời kỳ sử dụng vi xử lý máy tính 4004 vi xử lý bit, bên gồm 2300 transistor, quản lý nhớ có 4096 (»4K) ô nhớ, ô gồm bit, tập lệnh 4004 gồm 45 lệnh khác nhau, chế tạo theo công nghệ MOSFET kênh p có tốc độ xử lý 50KIPS (Kilo Instruction Per Second - nghìn lệnh/giây) 4004 dùng để thiết kế hệ thống video game, hệ thống điều khiển nhỏ dùng vi xử lý Trên sở 4004, hãng Intel sản xuất vi xử lý 4040, vi xủ lý bit có tốc độ cao 4004 • Sau năm 1971, tháng năm 1972, Intel cải tiến cho vi xử lý bit có mã số 8008 truy xuất 16K ô nhớ bit có 48 lệnh Đây chip 8-bit đầu tiên, xung nhịp 500KHz có thé nâng lên thành 800KHz • Tháng năm 1974, Intel cải tiến vi xử lý 8008 thành vi xử lý 8080, bước tiến lớn cùa Intel 8080 truy xuất 64Kbyte nhớ có nhiều lệnh hơn, chạy nhanh gấp 10 lần so với 8008, xung nhịp nâng lên mức 2MHz có khà nhận diện nhớ 64KB Những máy tính để bàn giới sử dụng chip 8080 chạy hệ điều hành CP/M • Tháng năm 1976, Intel cải tiến vi xử lý 8080 thành vi xử lý 8085 có thêm mạch tạo xung clock tích hợp bên trong, có nhiều ngắt chip phục vụ cho nhiều ứng dụng tích hợp mạch điều khiển hệ thống chip • Tháng năm 1978, Intel sản xuất vi xử lý 16 bit có mã số 8086, chip x86 giới, 8086 chip 16 bit Intel, trang bị 29.000 bóng bán dẫn xung nhịp đạt 5MHz, có 20 đường địa cho phép truy xuất 1MB nhớ bus liệu bên bên 16bit • Tháng năm 1979, Intel sản xuất vi xử lý 16 bit có mã số 8088 chủ yếu dựa vào vi xử lý 8086 khác với vi xử lý 8086 bus liệu bên có bit Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 bus liệu bên vi xử lý 16 bit, mục đích cải tiến nhằm hạ giá thành hệ thống trở thành vi xử lý máy tính IBM-PC/XT • Vào cuối năm 1981 năm đầu 1982, Intel cho đời vi xử lý 80186 phiên mở rộng vi xử lý 8086 có hổ trợ quản lý nhớ theo phân đoạn bảo vệ nhớ, bus địa có 24 đường cho phép truy xuất 16Mbyte nhớ 80286 trang bị máy tính PC-AT IBM Lúc đầu có xung nhịp 6MHz phiên sau có đến 25MHz Chip 80286 có 16MB address space 134.000 bóng bán dẫn • Tháng năm 1982, Intel cho đời vi xử lý 80286 vi xử lý 16 bit chủ yếu phát triển từ vi xử lý 8086 có thêm nhiều chức mạch định thời tích hợp, mạch điều khiển DMA, mạch điều khiển ngắt mạch chọn chip nhớ thiết kế riêng cho ứng dụng nhúng với giá chip thấp • Tháng 10 năm 1985, Intel cho đời vi xử lý 80386 vi xử lý 32bit, có quản lý nhớ theo trang phân đoạn nhớ, bus liệu bên bên 32 bit, tập ghi mở rộng Đây chip 32 bit cùa Intel, có 275.000 bóng bán dẫn, cao gấp 100 lần so với chip 4004 Các phiên 80386 cuối đạt mức xung nhịp 40MHz • Tháng năm 1989, Intel cho đời vi xử lý 80486, có cải thiện kiến trúc để tăng hiệu suất, cung cấp nhớ cache board, đơn vị dấu chấm động board, chip x86 Intel với triệu bóng bán dẫn (1,2 triệu) Nó chip có cache FPU nằm hẳn chip Có thêm lệnh so với vi xử lý 80386 Lệnh định thời cải tiến để tăng hiệu suất • Tháng năm 1993, Intel cho đời vi xử lý Pentium vi xử lý 64 bit có đơn vị dấu chấm động hiệu suất cao Lệnh định thời cải tiến so với 80486 Pentium chip siêu vô hướng đại tu Intel dòng Chip x86 Ban đầu có xung nhịp 60MHz sau nâng lên đến 300MHz Chip Pentium có 3.100.000 bóng bán dẫn • Tháng năm 1995, Intel cho đời vi xử lý Pentium Pro có cấp cache có sẵn Là chip hiệu cao, có chức thực thi không theo trật tự (Out of Order Execution) Cache L2 nằm bên Chip Dòng Pentium Pro sau chuyển đổi để sử dụng dòng máy Xeon Intel • Tháng năm 1997, Intel cho đời vi xử lý Pentium II - Pentium Pro + MMX Dựa tảng Pentium Pro, Pentium II có 7.500.000 bóng bán dẫn đóng gói theo dạng cartridge bao gồm cache L2 bên Xung nhịp đạt từ 233MHz đến 450MHz Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 • Năm 1999, Intel cho đời vi xử lý Pentium III – IA64, mở rộng tạo luồng SIMD Là phiên bàn nâng cáp Pentium II chip sử dụng tập lệnh SSE, có xung nhịp từ 400MHz đến 1.4GHz • Năm 2000, Intel cho đời vi xử lý Pentium IV, sử dụng kiến trúc Netburst Intel, xung nhịp 1.4GHz, tăng lên tối đa 3.8GHz có 42 triệu bóng bán dẫn • Năm 2001 Intel Itanium đời, phát triến Intel HP, Itanium dòng chip 64-bit không dựa tảng x86 phát triển để cung cấp khả tính toán song song nhắm đến đối tượng máy chủ doanh nghiệp Tuy nhiên, Itanium không gặt hái nhiểu thành công • Năm 2002 Intel XScale ARM: Intel phát triển XScale ARM để tiếp nối dòng chip StrongARM cũ kỹ trang bị cho nhiều máy PDA nhiều năm liền Tuy nhiên sau họ bán XScale lại ho hãng Marvell vào năm 2006 • Năm 2003 Intel Pentium-M (Centrino):Pentium-M thiết kế dành riêng cho máy laptop dòng chip Centrino Intel Nó có 77 triệu bóng bán dẫn xung nhịp 900MHz • Năm 2005 Intel Pentium-D: Đây dòng chip hai nhân Intel, phiên Pentium Extreme Edition Pentium D khởi đầu xu hướng dùng chip hai nhân máy tính để bàn • Năm 2006 Intel Xeon 5300: Dòng chip nhân Intel dành cho máy trạm máy chủ Trên thực tế Xeon 5300 ghép từ chip hai nhân lại với nhau, nâng tổng số bóng bán dẫn lên thành 582 triệu • Năm 2011 Intel Core i3, i5, i7:Là dòng chip Intel, dựa kiến trúc Sandy Bridge Mỗi chip có tối đa nhân 995 triệu bóng bán dẫn.2 Cấu trúc máy tính dùng vi xử lý(hệ vi xử lý) Cấu trúc máy tính dùng vi xử lý (hệ vi xử lý) Vi xử lý thành phần thiếu máy tính, để tạo hệ hoàn chỉnh cần phải có phận khác nhớ, thiết bị vào/ra bàn phím, hình Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 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 a Bộ vi xử lý Bộ vi xử lý (microprocessor) hay gọi CPU (Central Processing Unit đơn vị xử lý trung tâm) đóng vai trò não máy tính CPU xem não bộ, phần tử cốt lõi máy vi tính Nhiệm vụ CPU xử lý chương trình vi tính kiện CPU có nhiều kiểu dáng khác Ở hình thức đơn giản nhất, CPU chip với vài chục chân Phức tạp hơn, CPU ráp sẵn mạch với hàng trăm chip khác CPU mạch xử lý liệu theo chương trình thiết lập trước Nó mạch tích hợp phức tạp gồm hàng triệu transitor bảng mạch nhỏ Bộ xử lý trung tâm bao gồm: Bộ điều khiển Bộ làm tính CPU xử lý trung ương huy hoạt động máy tính theo lệnh thực phép tính Đây vi mạch số với mức độ tích hợp cực lớn (VLSI) bên bao gồm nhiều khối chức khác như: đơn vị số nguyên để thao tác tính toán với số nguyên, đơn vị xử lý dấu phẩy động để thực cấc phép tính với số thực Khi hoạt động, đọc mã lệnh (mã lệnh ghi dạng chuỗi Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 bit 0, 1) từ nhớ, đưa vào vi xử lý để giải mã thành vi lệnh, xung điều khiển để điều khiển hoạt động đơn vị chức bên vi xử lý Các thông số quan trọng vi xử lý gồm: • Tần số làm việc: tần số xung nhịp (clock) cung cấp cho vi xử lý, tần sô định dến tốc độ làm việc vi xủ lý • Độ rộng bus liệu m: số đường dây dùng để truyền liệu ký hiệu từ Do đến Dm-1 Các giá trị m thưòng 4, 8, 16, 32 64 • Độ rộng bua địa n: định đến dung lượng nhớ cực đại mà vi xử lý quản lý Một vi xử lý có n đường địa từ A đến An-1 quản lý ô nhớ (mỗi ô nhớ thường byte) Các giá trị n thường 16, 20 32 b 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ầp 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ồn 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 (Random Access Memory - nhớ truy cập ngẫu nhiên) nhớ ghi/đọc được, có nghĩa đọc thông tin từ nhớ, xoá 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 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, module thường gắn nhiều vi mạch RAM thường có dung lượng 1, 2, 4, 8, 16, 32, 64, 128, 256 512MB c 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 Các thiết bị vào/ra (hay gọi thiết bị ngoại vi) bao gồm thiết bị vào (bàn phím, chuột, máy quét ), thiết bị (màn hình, máy in, máy vẽ ), thiết bị lưu trữ (còn gọi nhớ ngoài) dùng để lưu thông tin với khối lượng lớn đĩa cứng, ổ đĩa 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 nối tiếp Tuy nhiên máy tính mạch ghép nối vào/ra vi mạch cỡ lớn (VLSI) gọi chipset, ví dụ chipset 848P Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Intel cho phép ghép nối vi xử lý với cổng đồ hoạ 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 2.0, d 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 (interrupt - 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 vể đị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 II Vi xử lý Intel 8086 Bộ vi xử lý 8086, giới thiệu năm 1978, vi xử lý 16 bit Intel, mở đầu cho họ vi xử lý x86 Bên 8086 gồm 29000 transistor, sản xuất công nghệ NMOS CMOS với ba phiên bản: - 8086 hoạt động tần số 4,77MHz - 8086-8 hoạt động tần số 8MHz - 8086-10 hoạt động tần số 10MHz Cả ba phiên đóng gói dạng DIP 40 chân, điện áp nuôi 5V Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Cấu trúc Bên vi xử lý 8086 bao gồm khối chính: • Khối thực lệnh (EU- Execution Unit) nơi giải mã thi hành lệnh • Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đảm bảo việc trao đổi thông tin 8086 với linh kiện bên Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 a Khối thực lệnh (EU- Execution Unit) Khối thực lệnh (EU - Execution Unit) bao gồm: • Bộ xử lý số học logic (ALU - Arithmatìc Logical Unit) nơi thực lệnh số học lệnh logic • Các ghi 16 bit chứa toán hạng • Thanh ghi cờ F • Khối điểu khiển (CU - Control Unit) có nhiệm vụ tạo tín hiệu điều khiển phận bên bên CPU Bên khối điều khiển có mạch giải mã lệnh Mã lệnh đọc vào từ nhớ đưa đến đầu vào giải mã Các thông tin thu từ đầu mạch giải mã đưa đến mạch tạo xung điều khiển, kết ta thu dãy xung khác (tuỳ theo mã lệnh) để điểu khiển hoạt động phận bên bên CPU b Khối giao tiếp bus (BIU- Bus Interface Unit) Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đảm bảo việc trao đổi thông tin 8086 với linh kiện bên (các vi mạch nhớ, vi mạch ghép nối vào/ra) BIU bao gồm: • Một cộng để tạo địa vật lý 20 bit từ ghi 16 bit • Bốn ghi đoạn 16 bit gồm: CS, DS, SS ES để giúp 8086 truy cập tới đoạn nhớ • Thanh ghi trỏ lệnh IP: IP gọi trỏ lệnh kết hợp vói CS để tạo thành địa lệnh mà 8086 thi hành • Mạch logic điểu khiển bus có nhiệm vụ đảm bảo giao tiếp 8086 với thiết bị bên (thông qua bus ngoài) • Hàng đợi lệnh (hay gọi đệm lệnh) có độ dài byte nơi chứa mã lệnh đọc nàm sẵn để chờ EU xử lý Đây cấu trúc Intel đưa vào vi xử lý 8086 để thực kỹ thuật xử lý xen kẽ liên tục dòng mã lệnh (kỹ thuật pipeline) nhằm cải thiện tốc độ xử lý CPU Thông thưòng vi xử lý hệ trước, hoạt động CPU để thực lệnh gồm giai đoạn: • Đọc mã lệnh (fetch, viết tắt F) • Giải mã lệnh (decode, viết tắt D) • Thực lệnh (execute, viết tắt E) Với giả thiết không gặp lệnh nhảy lệnh gọi chương trình hoạt động CPU diễn tuần tự: đọc mã lệnh 1, giải mã lệnh 1, thi hành lệnh 1, đọc mã lệnh 2, giải mã lệnh 2, thi hành mã lệnh 2, đọc lệnh mã 3, Trong thời điểm định, CPU thực ba công việc nói tùy theo giai đoạn có phận định CPU trạng thái nhàn rỗi Để khắc phục nhược điểm này, vi xử lý 8086, Intel sử dụng chế xử lý xen kẽ liên tục dòng mã lệnh CPU chia thành hai khối chức có phân chia công việc cho khối Việc đọc mã lệnh khối BIU đảm nhiệm, việc giải mã thi hành lệnh khối EU thực Các khối chức có khả làm việc đồng thời bus liên tục sử dụng Trong EU lấy mã lệnh từ hàng đợi lệnh để giải mã thực thao tác nội BIU đọc mã lệnh lệnh từ nhớ đặt chúng vào hàng đợi lệnh Hàng đợi lệnh làm việc theo kiểu FIFO (First In First Out, vào trước - trước), nghĩa byte cất vào trước lấy xử lý trước Nếu có vào/ra liên tục dòng mã lệnh hàng đợi lệnh có nghĩa có phối hợp hoạt dộng hiệu hai khối EU BIU, kết tốc độ CPU cải thiện Tập ghi Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Bên vi xử lý 8086 có ghi 16 bit nằm hai khối BIU EU Ngoài ra, có số ghi bit 16 bit EU Chúng ta xem xét ghi nói chức chúng a Các ghi đa Trong khối EU có ghi đa 16 bit lớn AX, BX, CX DX Điểm đặc biệt cần chứa liệu bit ghi tách thành hai ghi bit làm việc độc lập, cặp ghi AH AL, BH BL, CH CL, DH DL (trong H phần cao, L phần thấp) Mỗi ghi dùng cách vạn để chứa loại liệu khác Nhưng có công việc đặc biệt định thao tác với vài ghi đó, ghi thường gán cho tên đặc biệt có ý nghĩa riêng - AX (Accumulator register): ghi chứa, kết thao tác thường chứa Nếu kết bit ghi AL sử dụng - BX (Base register): ghi sở, thường chứa địa sở bảng dùng lệnh XLAT - CX (Count register): ghi đếm, CX thường dùng để chứa số lần lặp trường hợp lệnh LOOP (lặp), CL thường chứa số lần dịch quay lệnh dịch quay ghi - DX (Data register): ghi liệu, DX AX tham gia vào thao tác phép nhân chia số 16 bit DX dùng để chứa địa cổng lệnh vào/ra liệu trực tiếp Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 b Các ghi đoạn Khối BIU dưa bus địa 20 bit địa chỉ, 8086 có khả phân biệt = 1048576 = 1M ô nhớ, hay 1Mbyte Trong không gian 1Mbyte nhớ cần chia thành vùng khác dành riêng để: • Chứa mã chương trình • Chứa liệu kết trung gian chương trình • Tạo vùng nhớ đặc biệt gọi ngăn xếp dùng vào việc quản lý thông số vi xử lý Trong thực tế, vi xử lý 8086 có ghi 16 bit liên quan đến địa đầu vùng kể chúng gọi ghi đoạn Đó ghi đoạn mã CS (code segment), ghi đoạn liệu DS (data segment), ghi đoạn ngăn xếp SS (stack segment) ghi đoạn liệu phụ ES (extra segment) Các ghi đoạn 16 bit địa đầu đoạn nhớ, dung lượng lớn đoạn nhớ 64KB Nội dung ghi đoạn xác định địa ô nhớ nằm đầu đoạn Địa gọi địa sở Địa ô nhớ khác nằm đoạn tính cách cộng thêm vào địa sở giá trị gọi địa lệch hay độ lệch Độ lệch xác định bỏi ghi 16 bit khác đóng vai trò ghi lệch Để xác định địa vật lý 20 bit ô nhớ đoạn 8086 phải dùng đến hai ghi 16 bit Từ nội dung hai ghi tạo địa vật lý theo công thức: Địa vật lý = Nội dung ghi đoạn x 16 + Nội dung ghi lệch Việc dùng ghi để ghi nhớ thông tin địa thực chất tạo loại địa gọi địa logic ký hiệu: ghi đoạn: ghi lệch hay segment: offset c Thanh ghi trỏ số Trong 8086 có ba ghi trỏ hai ghi số 16 bit là: • Thanh ghi trỏ lệnh IP (Instruction Pointer): trỏ vào lệnh thực nằm đoạn mã CS Địa đầy đủ lệnh CS: IP • Thanh ghi trỏ sở BP (Base Pointer): trỏ vào phần tử liệu nằm đoạn ngăn xếp SS Địa đầy đủ môt phần tử đoạn ngăn xếp SS SS:BP • Thanh ghi trỏ ngăn xếp SP (Stack Pointer): vào đỉnh thời ngăn xếp nằm đoạn ngăn xếp SS Địa đầy đủ đỉnh ngăn xếp SS: SP Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 • Thanh ghi số nguồn SI (Source Index): SI vào liệu đoạn liệu DS mà địa đầy đủ DS: SI • Thanh ghi số đích DI (Destination Index): vào liệu đoạn liệu DS mà địa đẩy đủ DS: DI Ngoài chức trên, thành ghi dùng ghi đa d Thanh ghi cờ F Đây ghi đặc biệt CPU, bit dùng để phán ánh trạng thái định kết qủa phép toán ALU thực trạng thái hoạt động EU Dựa vào cờ người lập trình có lệnh thích hợp cho vi xử lý Thanh ghi cờ gồm 16 bit người ta dùng hết bit để làm bit cờ Các cờ cụ thể: • C CF (Carry Flag): Cờ nhớ-cờ giữ số, CF = có nhớ mượn • P PF (Parity Flag): Cờ chẵn lẻ, phản ánh tính chẵn lẻ tổng số bit có kết Cờ PF = tổng số bit kết chẵn • A AF (Auxiliary carry Flag): Cờ nhớ phụ có ý nghĩa ta làm việc với số BCD; AF = có nhớ mượn từ số BCD thấp (ở bit thấp) sang số BCD cao (ở bit cao) • Z ZF (Zero Flag): Cờ rỗng (cờ không), ZF = kết • SS SF (Sign Flag): Cờ dấu, SF = kết âm Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 • OF (Overflow Flag): Cờ tràn, OF = kết số bù vượt giới hạn biểu diễn dành cho Trên bit cờ trạng thái phản ánh trạng thái khác kết sau thao tác Trong đó, bit cờ đầu thuộc byte thấp ghi cờ cờ giống vi xử lý 8085 Intel Ngoài ví xử lý 8086 có cờ điều khiển sau: • T TF (Trap Flag): Cờ bẫy, TF = CPU làm việc chế độ chạy lệnh • I IF (Interrupt Flag): Cờ cho phép ngắt, IF = CPU cho phép yêu cầu ngắt (che được) tác động, IF = CPU cấm yêu cầu ngắt (che được) tác động trừ ngắt chân NM1 (Non Maskable Interrupt: ngắt không che được) • D DF (direction flag): Cờ hướng (cờ lùi), IF = CPU làm việc với chuỗi ký tự theo thứ tự từ phải qua trái e Các chân CPU 8086 Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Vi xử lý 8086 thiết kế để hoạt động hai chế độ, tuỳ thuộc vào mức điện áp đặt chân số 33 (chân MN/MX): • Chế độ tối thiểu (chế độ MIN) thiết lập điện áp chân số 33 5V Chế độ tối thiểu chế độ hệ thống có 8086 vi mạch nhớ, vi mạch ghép nối vào/ra • Chế độ tối đa (chế độ MAX) thiết lập điện áp chân số 33 0V Chế độ tối đa chế độ áp dụng cho hệ thống đa xử lý (nhiều vi xử lý 8086), đồng xử lý (8086 đồng xử lý toán học 8087) Trong chế độ tối đa, vi xử lý sử dụng vi mạch điều khiển bus bên để giải mã tín hiệu trạng thái S0, S1 S2 cung cấp tất tín hiệu điểu khiển bus Tùy thuộc vào chế độ hoạt động thiết lập mà chân từ số 24 đến số 31 có chức xác định khác nhau, chẳng hạn chân số 25 chế độ MAX có tên QS0, chế độ MIN có tên ALE Sau xem xét chức chân 8086 Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Các chân mang thông tin địa chỉ: Vi xử lý 8086 có 20 đường địa bao gồm từ A đến A9 16 đưòng dây địa thấp từ A0 đến A15 ghép kênh với đường dây liệu từ D0 đến D15 chân từ AD0 đến AD15; đường dây địa cao từ A 16 đến A19 8086 ghép kênh, trường hợp ghép kênh vối tín hiệu trạng thái từ S3 đến S6 chân từ A16/S3 đến A19/S6 Do chu kỳ bus địa đường dây sử dụng để mang thông tin địa đưa đến nhớ cổng vào/ra Như bus địa 8086 có độ rộng 20 bit bao gồm đường dây từ A0 đến A19, nhiên có 16 đưòng dây địa từ A đến A15 sử dụng truy cập cổng vào/ra Điều tạo cho 8086 không gian địa vào /ra độc lập 64Kbyte Các chân mang thông tin liệu: Vi xử lý 8086 có 16 đường dây liệu từ D đến D15 ghép kênh với 16 đường địa thấp từ A0 đến A15 Khi hoạt động chu kỳ bus liệu đưòng dây mang thông tin liệu - liệu đọc hay viết vào nhớ hay thiết bị vào/ra, hay mã loại ngắt từ điểu khiển ngắt 8259 Các chân tín hiệu trạng thái: • đường dây địa cao từ A16 đến A19 8086 ghép kênh, trường hợp ghép kênh với tín hiệu trạng thái từ S3 đến S6 Các bit trạng thái đưa thời điểm với liệu truyền chân AD0 - AD15 Bit S3 S4 kết hợp tạo bit mã nhị phân để xác định ghi đoạn sử dụng để tạo địa vật lý đưa lên bus địa chu kỳ bus S4 S3 0 1 1 Thanh ghi đoạn sử dụng ES SS CS không đoạn DS Đường dây trạng thái S phản ánh trạng thái tính chất khác bên vi xử lý, mức logic bit cờ cho phép ngắt bên (IEF) • Tín hiệu READY: cung cấp thiết bị phát xung bên cung cấp nhớ hệ thống vào/ra để báo cho CPU sẵn sàng cho phép liệu truyền hoàn thành Tín hiệu sử dụng để chèn thêm trạng thái chờ vào chu kỳ bus, mà kéo dài Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 thêm chu kỳ đồng hồ Điểu có ích cần trao đổi tin 8086 với thiết bị có tốc độ chậm Các chân tín hiệu điều khiến: Các tín hiệu diều khiển cung cấp để giúp cho 8086 giao tiếp với nhớ thiết bị vào/ra, chúng 8086 đưa bus điểu khiển bên để điều khiển hoạt động linh kiện khác • Tín hiệu ALE (Address Latch Enable - cho phép chốt địa chỉ) xung nâng lên mức để báo cho mạch biết có địa hợp lệ bus Tín hiệu đưa vào điều khiển vi mạch mạch chốt bên để tách bit địa từ A0 đến A15 khỏi đường dây ghép kênh địa - liệu từ AD đến AD15 • Tín hiệu (Data Enable - cho phép liệu) dùng để báo cố liệu hợp lệ bus mức logic thường đưa tới điều khiển vi mạch đệm liệu bus liệu • Tín hiệu M/ báo cho mạch điện bền biết nhớ thiết bị vào/ra nối với bus Mức logic đầu báo cho mạch biết thiết bị vào/ra sử dụng bus, mức logic báo nhớ sử dụng bus • Tín hiệu DT/ dùng để báo hướng truyền liệu bus Khi DT/ = suốt phần truyền liệu bus liệu bus liệu chế độ truyền Do liệu ghi vào nhớ đưa thiết bị vào/ra Ngược lại, mức logic chân DT/ báo hiệu ràng bus chế độ nhận Điều có nghĩa liệu đọc từ nhớ liệu đưa vào từ cổng vào • Tín hiệu (Bank High Enable - cho phép băng cao) dùng đế báo truy cập băng cao hay băng thấp nhớ = báo hiệu sang truy cập băng cao nhớ, ngược lại mức logic chân báo hiệu truy cập băng thấp nhớ • Tín hiệu (Read) (Write) báo chu kỳ đọc ghi tiến hành CPU chuyển xuống mức logic để báo hiệu cho thiết bị liệu ghi hợp lệ liệu đưa bus CPU chuyển xuống mức logic để báo hiệu CPU đọc liệu từ nhớ nhận liệu từ cổng vào Các chân tín hiệu ngắt: • Tín hiệu đầu vào vi xử lý 8086 sử dụng thiết bị để báo dang cần dược phục vụ Logic chân đại diện cho yêu cầu ngắt tích cực Khi yêu cầu ngắt nhận biết CPU Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 báo xác nhận cho thiết bị bên với mức logic đầu (Interrupt Acknowledge) • Tín hiệu vào có quan hệ với giao diện ngắt bên Nếu có mức logic CPU treo hoạt động chuyên đến trạng thái mà hiểu trạng thái nghỉ Khi trạng thái CPU không thực lệnh mà thay vào kiểm tra lại mức logic đầu vào trở lại mức Nếu chuyển đến logic 0, trình lại tiếp tục với lệnh chương trình Đặc điểm sử dụng để đồng hoạt động 8086 với thiết bị phần cứng bên Lệnh WAIT (chờ để test) thực tạo trạng thái chờ cho vi xử lý đầu vào /TEST Nếu /TEST chuyển xuống mức mói tiếp tục trình xử lý • Đầu vào ngắt không che NMI (Non Maskable Interrupt) Khi mức logic NM1 chuyển từ lên 1, điều khiển dược chuyến đến chương trình phục vụ ngắt không che thời diểm hoàn thành thực lệnh chạy NM1 yêu cầu ngắt có mức logic ưu tiên cao che phần mềm • Đầu vào RESET sử dụng để thiết lập lại phần cứng cho CPU Chuyển RESET xuống mức logic dùng để khởi tạo ghi nội vi xử lý khỏi tạo chương trình phục vụ thiết lập hệ thống Các chân mang tín hiệu phục vụ DMA (Direct Memory Access - truy cập nhớ trực tiếp): Giao diện truy cập nhớ trực tiếp 8086 chế độ MIN bao gồm hai tín hiệu HOLD HLDA Khi thiết bị muốn giành quyền điều khiển bus hệ thống để thực truy cập nhớ trực tiếp, báo yêu cầu cho CPU cách chuyển HOLD lên mức logic Sau CPU chuyển sang trạng thái cô lập sau chu kỳ bus thực xong Khi trạng thái cô lập, đường dây tín hiệu AD – AD15, A16/S3 – A19/S6, BHE/S7, M/, DT/, , INTR đặt trạng thái trở kháng cao Vi xử lý 8086 báo cho thiết bị trạng thái cô lập cách chuyển đầu HLDA lên mức logic lúc quyền điều khiển bus chuyển cho vi mạch điều khiển DMA (vi mạch 8237) Đồng hồ hệ thống: Thời gian sở cho hoạt động đồng bên bên vi xử lý máy tính cung cấp đầu vào CLK chân số 19 Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Hai đầu vào X1, X2 8284 nối với thạch anh có tần số dao động gấp ba lần tốc độ 8086 Tần số dao động thạch anh chia bên 8284 để tạo tần số tần số hoạt động 8086 Tần số đệm bên đưa chân CLK, đầu nối trực tiếp đến đầu vào CLK 8086 Từ sơ đồ ta thấy tín hiệu đồng hồ CLK cấp cho 8086 8284 tạo hai tín hiệu xung nhịp OSC (Oscillator clock) PCLK (Peripheral CLock) Hai tín hiệu dùng để kích cho IC bên Tần số hai tín hiệu đầu PCLK nửa tần số tín hiệu đầu CLK Tần số đầu OSC tần số dao động thạch anh Vi mạch 8284 kích nguồn xung đồng hồ bên cung cấp tới chân EFI (External Frequency Input) 8284 Đầu vào F/C cung cấp để lựa chọn nguồn xung clock cung cấp cho 8284 từ thạch anh hay nguồn xung đồng hồ bên chân EFI Khi bị giữ mức thạch anh X l X2 sử dụng Cung cấp mức logic chân F/C để lựa chọn EFI nguồn xung Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Chức chân chế độ MAX Khi 8086 thiết lập cấu hình chế độ MAX, tạo tín hiệu để thực môi trường đa xử lý, đồng xử lý Môi trường đa vi xử lý hiểu có nhiều vi xử lý tồn hệ thống vi xử lý thực chương trình riêng Thường môi trường số tài nguyên hệ thống dùng chung cho tất vi xử lý Các tài nguyên gọi tài nguyên toàn cục hay tài nguyên dùng chung Cũng có tài nguyên dành cho vi xử lý xác định, tài nguyên hiểu tài nguyên cục hay tài nguyên dùng riêng Trong hệ thống hoạt động chế độ MAX phân phát tài nguyên hệ thống thực dễ dàng cách chuyển quyền điều khiển bus cho vi xử lý khác để chia sẻ bus hệ thống Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Ở chế độ MAX, 8086 không trực tiếp cung cấp tất tín hiệu cần thiết để điều khiển nhớ thiết bị vào/ra, giao diện ngắt Đặc biệt tín hiệu , M/, DT/, , ALE không tạo 8086 Thay vào đó, điều khiển bus 8288 tạo tín hiệu dựa vào đầu vào S2, S1 S0 lấy từ 8086 S2, S1 S0 kết hợp với ý nghĩa sau: - S0 S1 S2 0 0 1 1 0 1 0 1 1 1 Tín hiệu khoá LOCK (Lock signal) Bài thảo luận môn kiến trúc máy tinh Ý nghĩa Công nhận ngắt Đọc từ ngoại vi Viết ngoại vi Trạng thái dừng (HALT) Tìm lệnh Đọc nhớ Viết vào nhớ Không có hoạt động Nguyễn Đình Vũ 0941360410 ktpm1 k9 Để thực hệ thống đa vi xử lý, tín hiệu gọi LOCK cung cấp, tín hiệu có nghĩa đầu có mức logic vi xử lý muốn khoá vi xử lý khác sử dụng bus Tín hiệu LOCK phù hợp với multibus, chuẩn công nghiệp cho giao diện vi xử lý môi trường đa vi xử lý - Các tín hiệu trạng thái hàng đợi (Queue status signals) QS1 QS0 Hai tín hiệu kết hợp với tạo hai bit mã trạng thái hàng đợi (queue) Mã báo cho mạch bên biết kiểu thông tin vừa đưa từ queue suốt chu kỳ đồng hồ lần trước Bảng bên cho biết mã trạng thái queue khác nhau: QS1 QS0 Ý nghĩa 0 1 1 Không lấy liệu khỏi hàng đợi Byte liệu vừa lấy khỏi hàng đợi byte lệnh Hàng đợi rỗng Byte liệu vừa lấy khỏi hàng đợi byte lệnh(không phải byte đầu tiên) Các tín hiệu điều khiển bus cục Trong cấu hình chế độ MAX hai tín hiệu HOLD HLDA hai chế độ MIN thay đổi Hai tín hiệu thay đổi tín hiệu Request/Grant RQ/GT0) RQ/GT1) Chúng cung cấp quyền ưu tiên sử dụng bus cục - Bài thảo luận môn kiến trúc máy tinh [...]... năng các chân ở chế độ MAX Khi 8086 được thiết lập cấu hình ở chế độ MAX, nó tạo ra các tín hiệu để thực hiện môi trường đa xử lý, đồng xử lý Môi trường đa vi xử lý có thể hiểu rằng có nhiều hơn một vi xử lý tồn tại trong hệ thống và mỗi vi xử lý thực hiện chương trình riêng của mình Thường thì trong môi trường này một số tài nguyên hệ thống dùng chung cho tất cả các vi xử lý Các tài nguyên này được gọi... độ tối thiểu là chế độ trong hệ thống chỉ có 8086 và các vi mạch nhớ, các vi mạch ghép nối vào/ra • Chế độ tối đa (chế độ MAX) được thiết lập nếu điện áp chân số 33 là 0V Chế độ tối đa là chế độ áp dụng cho hệ thống đa xử lý (nhiều vi xử lý 8086) , đồng xử lý (8086 và bộ đồng xử lý toán học 8087) Trong chế độ tối đa, bộ vi xử lý có thể sử dụng vi mạch điều khiển bus bên ngoài để giải mã các tín hiệu... Vũ 0941360410 ktpm1 k9 Để thực hiện một hệ thống đa vi xử lý, một tín hiệu gọi là LOCK được cung cấp, tín hiệu này có nghĩa là nếu đầu ra của nó có mức logic 0 mỗi khi một vi xử lý muốn khoá các vi xử lý khác đang sử dụng bus Tín hiệu LOCK là phù hợp với multibus, đây là một chuẩn công nghiệp cho giao diện các vi xử lý trong một môi trường đa vi xử lý - Các tín hiệu trạng thái hàng đợi (Queue status... thành địa chỉ của lệnh tiếp theo mà 8086 sẽ thi hành • Mạch logic điểu khiển bus có nhiệm vụ đảm bảo giao tiếp giữa 8086 với các thiết bị bên ngoài (thông qua bus ngoài) • Hàng đợi lệnh (hay còn gọi là bộ đệm lệnh) có độ dài 6 byte là nơi chứa các mã lệnh đọc được nàm sẵn để chờ EU xử lý Đây là một cấu trúc mới được Intel đưa vào bộ vi xử lý 8086 để thực hiện kỹ thuật xử lý xen kẽ liên tục dòng mã lệnh... thể thực hiện một trong ba công vi c nói trên và vì vậy tùy theo từng giai đoạn sẽ có những bộ phận nhất định của CPU ở trạng thái nhàn rỗi Để khắc phục nhược điểm này, trong bộ vi xử lý 8086, Intel sử dụng cơ chế xử lý xen kẽ liên tục dòng mã lệnh CPU được chia thành hai khối chức năng và có sự phân chia công vi c cho từng khối Vi c đọc mã lệnh là do khối BIU đảm nhiệm, vi c giải mã và thi hành lệnh... bit địa chỉ, như vậy 8086 có khả năng phân biệt ra được = 1048576 = 1M ô nhớ, hay 1Mbyte Trong không gian 1Mbyte này bộ nhớ cần được chia thành các vùng khác nhau dành riêng để: • Chứa mã chương trình • Chứa dữ liệu và kết quả trung gian của chương trình • Tạo ra một vùng nhớ đặc biệt gọi là ngăn xếp dùng vào vi c quản lý các thông số của bộ vi xử lý Trong thực tế, bộ vi xử lý 8086 có các thanh ghi... làm vi c với chuỗi ký tự theo thứ tự từ phải qua trái e Các chân của CPU 8086 Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Vi xử lý 8086 được thiết kế để hoạt động ở một trong hai chế độ, tuỳ thuộc vào mức điện áp đặt ở chân số 33 (chân MN/MX): • Chế độ tối thiểu (chế độ MIN) được thiết lập nếu điện áp chân số 33 là 5V Chế độ tối thiểu là chế độ trong hệ thống chỉ có 8086. .. DT/, , và INTR đều đặt trên trạng thái trở kháng cao Vi xử lý 8086 báo cho các thiết bị ngoài rằng nó đang ở trạng thái cô lập bằng cách chuyển đầu ra HLDA của nó lên mức logic 1 và lúc này quyền điều khiển bus được chuyển cho vi mạch điều khiển DMA (vi mạch 8237) Đồng hồ hệ thống: Thời gian cơ sở cho hoạt động đồng bộ bên trong và bên ngoài của vi xử lý trong máy tính được cung cấp bởi đầu vào CLK ở... được dành cho các vi xử lý xác định, các tài nguyên này được hiểu là các tài nguyên cục bộ hay tài nguyên dùng riêng Trong hệ thống hoạt động ở chế độ MAX thì sự phân phát tài nguyên của hệ thống được thực hiện dễ dàng bằng cách chuyển quyền điều khiển bus cho các vi xử lý khác để chia sẻ bus hệ thống Bài thảo luận môn kiến trúc máy tinh Nguyễn Đình Vũ 0941360410 ktpm1 k9 Ở chế độ MAX, 8086 không trực... kỹ thuật xử lý xen kẽ liên tục dòng mã lệnh (kỹ thuật pipeline) nhằm cải thiện tốc độ xử lý của CPU Thông thưòng trong các bộ vi xử lý ở các thế hệ trước, hoạt động của CPU để thực hiện một lệnh gồm 3 giai đoạn: • Đọc mã lệnh (fetch, vi t tắt là F) • Giải mã lệnh (decode, vi t tắt là D) • Thực hiện lệnh (execute, vi t tắt là E) Với giả thiết không gặp lệnh nhảy hoặc lệnh gọi chương trình con thì hoạt