Chương 1: Tổng quan về hệ thống vi xử ly Nội dung Các hệ thống số đếm Các loại mã Giới thiệu về vi xử lý (Công nghệ LSI và sự đời của bộ vi xử lý) Các thành phần của hệ thống VXL (Đại cương về phần cứng và phần mềm hệ thống vi xử lý) CÁC HỆ THỐNG SỐ ĐẾM Hệ thập phân (Decimal) Hệ nhị phân (Binary) Hệ thập lục phân (Hexadecimal – Hex) Các hệ thống số – Hệ 10 (Decimal) Hệ 10 Các số biểu diễn bằng 10 số: 0-9 Biểu diễn theo các cột từ phải qua trái: đơn vị, chục, trăm … 123 1× 102 + 2× 101 + 3×or 100 trăm, chục và đơn vị S10 = CnB + Cn-1Bn-1 + Cn-2Bn-2 + … + C0B0 = n : nguyên dương, B là số bất kỳ) n n (i,B C ∑ i i i =0 Cơ sô Khi đếm lên hệ 10, chúng ta sẽ tăng hàng đơn vị tới 10 thì hàng đơn vị cần được xoá về và hàng chục tăng lên 1, hàng chục tăng tới 10 thì xoá về và tăng hàng trăm lên … Tương tự hệ thống số n bất kỳ đếm lên cột bên phải tăng tới n thì sẽ xoá về và tăng cột kế tiếp bên trái của nó lên Xem xét hệ thống đồng hồ: Giờ – Phút – Giấy để thấy thống số 60 Ví dụ: 12:58:43 + 00:03:20 = 13:02:03 Chú ý: Trong máy tính thường sử dụng các chỉ số bằng số (hoặc các chữ đầu tương ứng) để xác định một số thuộc số nào Ví dụ: (123)10 hay (123)D chỉ thị số Số bù 10 9 11 7 14 Trừ một số bằng cộng với bù 10 của nó – Trừ một số hệ sẽ bằng cộng với bù của nó Các bộ vi xử lý trước đấy không thiết kế mạch trừ để giảm giá thành Nhị phân - Binary Cơ số Tất cả các số đều biể udiễn bằng hai số: & Trọng số sẽ tăng dần từ phải qua trái 1111011 1× 26 + 1× 25 + 1× 24 + 1× 23 + 0× 22 + 1× 21 + 1× 20 = 1× 64 + 1× 32 + 1× 16 + 1× + 0× + 1× + 1× Các thuật ngữ về số nhị phân Một số với trạng thái hoặc được gọi là “bit” bit = “byte” Nhiều byte có thể gọi là “word” Thường các từ nhị phân có: 12, 16, 32, 64 bit 210 bit = K bit 210 byte = KB = K bit 220 byte = MB 230 byte = GB Đổi thập phân nhị phân Ví dụ – Đổi số (123)10 thành nhị phân 123 ÷ = 61 dư 61 ÷ = 30 dư 30 ÷ = 15 dư 15 ÷ = dư ÷ = dư ÷ = dư 1 ÷ = dư Least significant bit (rightmost) Most significant bit (leftmost) Kết quả : (123)10 = (1111011)2 Số bù - Two’s Complement Một byte nhị phân có thể sử dụng để biểu diễn một số thập phân khoảng: to 255 (Không dấu - unsigned) -128 to 127 (Có dấu - signed) Số âm hệ nhị phân là hiệu giữa giá trị giá trị lớn nhất của tổ hợp (2n hoặc 28 = 256 cho byte) giá trị dương tương ứng của nó Ví dụ: (123)10 = (01111011)2 (-123)10 = (10000101)2 = (133)10 = (256123)10 Phần mềm hệ thống Vi Xử Ly Chương trình ngôn ngữ cấp cao Chương trình hợp ngữ (các lệnh gợi nhớ ) Chương trình mã máy (tập hợp các bit và 1) Hệ thống mạch điện tử sớ LỊCH SỬ PHÁT TRIỂN CỦA CÁC BỢ VI XỬ LY – (TỰ Thế hệ (1971 – 1973): Năm 1971, chế tạo các vi mạch sử dụng cho các máy tính cầm tay hãng Intel đã cho đời bộ vi xử lý đầu tiên là 4004 (4 bit dữ liệu, 12 bit địa chỉ) Sau đó lần lượt các bộ vi xử lý khác đời như: 4040 (4 bit), 8008 (8 bit) của Intel, PPS – (4 bit) của Rockwell International, IPM – 16 (16 bit) của National Semiconductor ĐỌC) Đặc điểm chung của các bộ vi xử lý thế hệ này là: Độ dài dữ liệu xử lý thường là bit (cũng có thể dài hơn) Công nghệ chế tạo PMOS với đặc điểm mật độ tích hợp không cao, tốc độ thấp, giá thành rẻ và chỉ có khả đưa dòng tải nhỏ Tớc đợ thực hiện lệnh 10 – 60 µsec / lệnh với tần số xung nhịp từ 0,1 tới 0,8 MHz Tập lệnh đơn giản và cần phải có nhiều vi mạch phụ trợ mới tạo nên hệ thống vi xử lý hoàn chỉnh Thế hệ (1974 – 1977): các bộ vi xử lý điển hình cho thế hệ này là các bộ vi xử lý bit như: 6502 của MOS Technology, 6800 và 6809 của Motorola, 8080 và 8085 của Intel, Z80 của Zilog Các bộ vi xử lý này có tập lệnh phong phú rất nhiều so với thế hệ thứ nhất, và chúng thường có khả định vị 64 KB địa chỉ bộ nhớ, ngoài còn có thể định vị 256 địa chỉ vào Chúng được ứng dụng rất nhiều công nghiệp và nhất là đã được sử dụng để chế tạo các máy vi tính bit nổi tiếng như: Apple II, Commodore, PC XT Tất cả các bộ vi xử lý thế hệ này đề được chế tạo bằng công nghệ NMOS hoặc CMOS (có mật độ tích hợp cao loại PMOS) tiết kiệm điện năng, cho phép đặt được tốc độ xử lý mợt lệnh từ – µsec với tần số xung nhịp – MHz Thế hệ (1978 –1982): Thế hệ này được đại diện bởi các bộ vi xử lý 16 bit 8086, 80186, 80286 của Intel; 68000, 68010 của Motorola Một điểm tiến bộ hẳn các bộ vi xử lý bit thế hệ trước là tập lệnh của chúng đa dạng với các lệnh nhân, chia và các lệnh xử lý chuỗi dữ liệu Khả định vị địa chỉ bộ nhớ và vào cũng được tăng lên rất nhiều (16 MB bộ nhớ, 64 KB cho vào đối với họ Intel) Các bộ vi xử lý thế hệ này được sử dụng các máy tính IBM PC, PC/AT và các máy tính Macintosh của Apple Hầu hết các bộ vi xử lý thế hệ này đều được sản xuất bằng công nghệ HMOS cho phép đặt được tớc đợ 0,1 – µsec / lệnh với tần số xung nhịp từ đến 10 MHz Trong thời gian này cũng bắt đầu xuất hiện các bộ vi điều khiển bit 8084/8089 và 6805R2 (có cả ADC 12 bit) Hoặc các bộ vi điều khiển bit MC141000, bit MC14500B Thế hệ (1983): các bộ vi xử lý đại diện cho thế hệ này là các vi xử lý 32 bit: 80386, 80486 và 64 bit Pentium của Intel, các vi xử lý 32 bit 68020, 68030, 68040, 68060 của Motorola Các vi xử lý thế hệ này đều có 32 bit địa chỉ, định vị 4GB bộ nhớ vật lý, ngoài còn có chế độ làm việc với bộ nhớ ảo Ngoài các cấu trúc và các chế hoạt động các máy tính lớn cũng được áp dụng cho các bộ vi xử lý như: chế đường ống (pipeline), bộ nhớ cache Trong các bộ vi xử lý này đều có khối quản lý bộ nhớ (MMU) và các bộ đồng xử lý toán học tích hợp bên Chính nhờ các cải tiến này mà các máy vi tính sử dụng vi xử lý thế hệ này có khả cạnh tranh với các máy tính mini rất nhiều ứng dụng Hầu hết các bộ vi xử lý thế hệ này đều được sản xuất theo công nghệ HCMOS Bên cạnh các bộ vi xử lý xây dựng theo cấu trúc truyền thống với tập lệnh đầu đủ (CISC – complex instruction set computer) đã nói trên, thời gian này cũng xuất hiện các bộ vi xử lý với tập lệnh rút gọn (RISC) có khả thực hiện các lệnh tốc độ cao và với nhiều tính có thể so sánh với các máy tinh lớn thế hệ trước Đó là các bộ vi xử lý Alpha của Digital, Power PC của Apple – Motorola – IBM … Nguồn từ Website của Intel Bắt đầu từ tháng 10 năm 1971 •Intel bắt đầu phát triển bộ vi xử lý đầu tiên vào năm 1969 Đây là một phần http://www.intel.com/pressroom/archive/backgrnd/30thann_funfacts.htm của dự án thiết kế một họ vi mạch có thể tính toán lập trình từ nhà máy Busicom Nhật •Ngày tại có khoảng 40 họ vi xử lý được sản xuất thế giới, •Bắt đầu Busicom đề nghị trả cho Intel 60,000 USD để thiết kế một vi mạch bộ số này sẽ tăng lên 50 tất cả các tính của PC được não “brain” Tuy nhiên Intel đề nghị sử dụng nguồn vốn này để thiết kế bợ hoàn vi xử lý thiện •Các bợ vi xử lý Intel có thể dụng cácbộ phòng cho bàn •Busicom đồng ý và giớisử thiệu thị trường vi xử tắm, lý 4004 vào 15 tháng điện đểvà tựbán động tắt 200 và cả cho bàn chảicủa đánh 10 ủi năm 1971 được bộ Chìa khoácác thành công bộ vi xử lý là ý điệncung tử cấp một thiết bị có thể lập trình bằng phần mềm Trước phát tưởng •Doanh minh bợ vi xửtừ lý công các vi nghệ mạch ô sốtôđược định thu tăngthiết dẫnkế tớivới cóchức đến hàngcố trăm bộ Thế hệ vi ngày của visử xửdụng lý Intelđể là điều bợ vi khiển xử lý Pentium® xử này lý được các vật dụng mợt xe •Hiện hậu dệunhư: ći Túi cùng củathắng, 4004 làđợng Pentium® sửsờ, dụng chocửa, máy tiết tính để ô tô đời mới khí, cơ, cửa khoá bàn kiệm xăng … •Bợ vi xử lý Pentium ngày có thể hợat động với tớc đợ tỷ chu kỳ •Phát triển liên tục thập niên 70 của thế kỷ 10, các bộ vi xử giây lý đã biếntốc nhất các máy tính cá Ngoài •Intel mấttrở 28 nên năm phổ để nâng độ bộ vi xử lý từ 108,000 chunhân kỳ giây (4004) còn sử dụng ứng dụng khác các máy tính III và lênnó một tỷ chu kỳ giây nhiều (1 gigahertz) với bợ vi xử lý Intel® Pentium® các bợ cácvới máy bị, các chỉlớn, 18 tháng sauđiều nângkhiển lên gigahertz bộ móc vi xử thiết lý Pentium thiết bị thiếtcùng bị gia lò vinósóng, video, Pentiumlưu làtrữ, mục các tiêu cuôi cho dụng máy tính để bàn có thể đầy xử lýmáy các thông tin … cho nhạc sô, phim sô, các hình ảnh 3D thực sự hỗ trợ cho các trò chơi tên mạng, cho giáo dục và bán hàng qua mạng Vi xử ly 8086/8088 vao cuối các năm 1970 Có thể địa chỉ hoá 1MB bộ nhớ các bộ xử lý khác thời điểm này chỉ quản lý được 64KB Bus dữ liệu 8086 thiết kế 16 bit có ưu điểm hẳn các bộ vi xử lý cùng thời với nó 8088 thay thế cho 8086 với bus dữ liệu bit để giảm giá thành hệ thống 8088 là bộ vi xử lý đầu tiên sử dụng cho các máy tính IBM 80186 Có bộ vi xử lý là 8086 vi mạch này được tích hợp cả vi mạch phụ trợ Nó không được sử dụng cho các máy tính cá nhân Được thương mại cho các hệ thống điều khiển máy móc thiết bị công nghiệp 80286 : năm1983 Thiết kế tương thích với 8088 để có thể chay được các chương trình viết cho PC – XT sử dụng 8088 đã được thương mại nhiều thế giới Vì thế nó có chế độ hoạt động Chế độ thực tương thích 8088 Chế độ bảo vệ (Protected mode) cung cấp các tính rất mạnh Có thể truy cập tới 16MB bộ nhớ Cần một hệ điều hành đặc biệt Nhưng hầu hết người sử dụng chỉ có hệ điều hành MS – DOS Thương mại hoá với máy PC – AT 386 DX: năm 1985 Đây là bộ vi xử lý 32 bit đầu tiên Tất cả các BUS là 32 bit Có khả chạy ở chế độ thực, chế độ bảo vệ của 286 và nó có chế độ bảo vệ riêng mạnh Chế độ bảo vệ của 386 có thêm chức mới: Quản ly bộ nhớ ảo (Virtual memory)- Có thể sử dụng ổ đĩa cứng cho phép máy tính quản lý tới GB bộ nhớ dữ liệu Chế độ ảo 8086- 80286 được thực hiện cho hệ điều hành DOS 386 SX: năm1988 Khác so với 386DX? Bus dữ liệu giảm xuống 16 bits Bus địa chỉ giảm xuống 24 bits, với giới hạn truy cập bộ nhớ là 16MB Đây là bộ vi xử lý sử dụng cho các máy tính xách tay thông dụng đầu tiên nó được gọi là 386 SL chạy với nguồn 3.3V Mục tiêu giảm giá thành máy tính 486DX: năm1989 Khác so với họ 386 Tích hợp mạch đồng xử lý toán học (coprocessor) Cung cấp chức tính toán với hiệu suất cao Có 8K bộ nhớ đệm (cache) Đây là bộ nhớ SRAM chứa mã lệnh đọc trước đó để CPU tránh phải lấy lệnh tại DRAM có tốc độ truy xuất chậm 486SX: năm1991 Giống 486 DX không tích hợp bộ đồng xử lý toán học Pentiums: năm1993 Có 64 bit dữ liệu ngoài và chia thành bus đường ống 32 bit bên CPU Có bộ nhớ đệm 8K có thể ghi cho chương trình Hầu hết các bộ xử lý Pentium chay với nguồn 3.3V để tăng tốc độ hoạt động Bao gồm bộ nhân clock gấp đôi chọn bằng jump Hầu hết sử dụng loại chân SPGA (Standard Pin Grid Array) Cho phép tăng mật độ tích hợp chip Các bộ Pentiums: Sau năm 1996 MMX- hỗ trợ multimedia Tăng tốc độ bộ nhân - 45 bộ nhân Cải thiện tốc độ xử lý – bằng cách dự đoán hướng rẽ nhánh cache Cải tiến cấu trúc siêu phân luồng Có các lệnh SSE/SSE2 ... Octal 10 11 12 13 14 15 0000 00 01 0 010 0 011 010 0 010 1 011 0 011 1 10 00 10 01 1 010 10 11 110 0 11 01 111 0 11 11 A B C D E F 10 11 12 13 14 15 16 17 Địa chi 1 1 0 0 1 1 10 bit = 210 thin = 10 24D = 3FFH=1KB... 11 11 111 0 + Bù của sẽ là: 11 11 111 1 = -1D Cộng với 1D 0000 00 01 10000 0000 Số âm nhị phân Binary 0000 0000 0000 00 01 … 011 1 11 11 1000 0000 10 00 00 01 … 11 11 111 1 Unsign Decimal … 12 7 12 8... 640KB : - ? Hex 0000 0000 0000 0000 0000 Một bit 0 1 011 1 11 11 111 1 11 11 111 1 512 K n n n 10 00 0000 0000 0000 0000 10 01 111 1 11 11 111 1 11 11 640K Cộng nhị phân Cộng hai số nhị phân nhiều