Vxl ch01 gioi thieu vxl VI XỬ LÝ

21 1 0
Vxl ch01 gioi thieu vxl VI XỬ LÝ

Đ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

13-Feb-11 ĐHBK Tp HCM-Khoa Đ-ĐT BMĐT GVPT: Hồ Trung Mỹ Môn học: Vi Xử Lý Chương Vi Xử Lý Giới thiệu hệ VXL tổng quát Họ vi mạch số cơng nghệ • Integrated Circuits – Integrated Circuits → IC 1.1 GIỚI THIỆU SỰ PHÁT TRIỂN CỦA CÁC HỆ VI XỬ LÝ – Integrated Circuits classification : – Families of Integrated Circuits : • • • • TTL ECL MOS CMOS Transistor-Transistor Logic Emitter-Coupled Logic Metal-Oxide Semiconductor Complementary Metal-Oxide Semiconductor – Various series of the TTL logic family : Classification Transistor Typical IC TTL Series Prefix Example SSI 10 or less 54/74 logic gate Standard TTL 74 7486 MSI 10 to 100 counter, adders High-speed TTL 74H 74H86 LSI 100 to 1000 small memory ICs, gate array Low-power TTL 74L 74L86 Schottky TTL 74S 74S86 VLSI ULSI 1000 to 106 106 and up large memory ICs, microprocessor Multifunction ICs Low-power Schottky TTL 74LS 74LS86 Advanced Schottky TTL 74AS 74AS86 Advanced Low-power Schottky TTL 74ALS 74ALS86 13-Feb-11 – Signal assignment and logic polarity : – Various series of the CMOS logic family : CMOS Series Prefix Example Positive Logic Negative Logic logic level signal level logic level signal level Original CMOS 40 4009 H H Pin compatible with TTL 74C 74C04 L L High-speed and Pin compatible with TTL 74HC 74HC04 High-speed and electrically compatible with TTL 74HCT 74HCT04 signal value H L logic value signal value H L logic value Sơ đồ khối máy tính cổ điển – Demonstration of positive and negative logic x y z L L L L H L H L L H H H Truth table with H and L x y TTL gate z x y z 0(L) 0(L) 0(L) 0(L) 1(H) 0(L) 1(H) 0(L) 0(L) 1(H) 1(H) 1(H) Truth table for positive logic x y x y z 1(L) 1(L) 1(L) 1(L) 0(H) 1(L) 0(H) 1(L) 1(L) 0(H) 0(H) 0(H) Truth table for Negative logic z Positive logic AND gate x y z Negative logic OR gate Phân loại CPU Người ta chia CPU làm loại : • Multi-chip CPU (CPU đa chip): Cần hay nhiều chip LSI để cài đặt ALU phần điều khiển máy tính • Microprocessor (Vi xử lý): ta hạn chế từ microprocessor (mP/UP) cho chip LSI/VLSI chứa ALU phần điều khiển máy tính • Single chip microprocessor (Vi xử lý đơn chip): (còn gọi microcomputer/microcontroller) chip LSI/VLSI chứa tồn máy tính hình 1.1, thường gọi tắt MCU (Micro-Controller Unit) Sơ đồ khối máy vi tính Một máy tính dựa vi xử lý gọi máy vi tính (microcomputer) gọi tắt µC (uC) 13-Feb-11 Tổ chức bên vi xử lý Thanh ghi tích lũy (Accumulator) • Các kết phép toán ALU thường cất ghi tích lũy (cũng gọi ACC) Thí dụ ALU thực thi lệnh ADD (cộng) sau: Một số cờ ghi trạng thái • • • • • • Cờ Z (Zero) Cờ S (Sign) Cờ C (Carry) Cờ HC (Half Carry) Cờ OV (Overflow) Thí dụ cài đặt ngăn xếp nhớ Thanh ghi trạng thái (Status Register) • Trong thực số phép toán số học logic, số điều kiện định phát sinh mà ảnh hưởng đến trình tự thực thi chương trình • Người ta cần phải lưu trữ điều kiện nhóm flipflop (hoặc ghi) gọi ghi trạng thái (status register) (cũng gọi ghi mã điều kiện) [code condition register]) khoảng thời gian để xác định trình tự thực thi chương trình Lịch sử phát triển vi xử lý Thời kỳ đầu • 1969 - 70 Intel 4004, vi xử lý đầu tiên, 4-bit Intel 4040, nhanh 4004 • 1971 Intel 8008, phiên bit 4004 • 1973 Intel 8080, 10 lần nhanh 8008 (Các sản phẩm tương tự: Motorola MC6800, Zilog Z80) • 1974 MITS Altair 8800, máy vi tính lập trình BASIC phát triển Bill Gates Paul Allen • 1977 Apple II, máy tính gia đình phổ cập Intel 8085, vi xử lý bit sau • 1978 Intel 8086, vi xử lý 16 bit , nhanh nhiều • 1979 Intel 8088 13-Feb-11 Thập niên 1980 • 1980 Motorola 68000 • 1981 IBM PC với Intel 8088, chạy xung nhịp 4.77 MHz với ổ đĩa mềm 160KB hệ điều hành MSDOS 1.0/1.1 • 1982 Intel 80286 • 1984 Apple Macintosh, với Motorola 68000 • 1985 Intel 80386 • 1987 Macintosh II • 1989 Intel 80486 với tốc độ xung nhịp 25 MHz cao Từ thập niên 1990 trở lại • 1990 Microsoft Windows 3.0 đời Motorola 68040 triển khai • 1991 Apple IBM hợp tác để khảo sát RISC • 1992 Microsoft Windows 3.1 trở thành chuẩn cho PC • 1993 Intel Pentium (80586) đời, công nghệ MMX cung cấp sau • 1995 Microsoft Windows 95 • 1995 Intel Pentium Pro (P6) • 1997 Intel Pentium II • 1998 Intel Pentium II Xeon • 1999 Intel Pentium III • 2001 Intel Pentium IV 1.2 SƠ ĐỒ KHỐI MỘT HỆ VI XỬ LÝ CƠ BẢN 13-Feb-11 Chu kỳ nhận (Fetch)–giải mã (Decode)– thực thi (Excecution) CPU Các đường tín hiệu kết nối với vi xử lý tiêu biểu Hai tín hiệu điều khiển READ &WRITE thường gọi read strobe (lấy mẫu đọc) & write strobe (lấy mẫu ghi) 1.3 CPU 13-Feb-11 Các thành phần CPU Mã hóa tác vụ (hoạt động) ALU Thí dụ: vi tác vụ ALU Dạng lệnh • Các vùng lệnh Vùng mã lệnh (Op-code): Cho biết tác vụ thực Vùng địa chỉ: địa nhớ ghi CPU Vùng cách định địa (mode): cách xác định toán hạng địa thật • Số vùng địa lệnh phụ thuộc vào tổ chức nội CPU • Có tổ chức CPU thơng dụng nhất: 13-Feb-11 Các cách định địa (Addressing modes) Cách định địa (cịn gọi cách định vị địa chỉ) • Cách định địa cho biết quy tắc để diễn dịch hay sửa đổi vùng địa lệnh (trước tốn hạng tham chiếu thật sự) • Có nhiều cách định địa để: – cho người sử dụng lập trình linh hoạt – sử dụng bit vùng địa cách hữu hiệu • Sau khảo sát cách định địa thông dụng CPU Cách định địa hiểu ngầm (Implied addressing mode) hay hàm ý • Địa toán hạng hiểu ngầm lệnh, khơng cần địa cho tốn hạng lệnh • Nếu gọi tắt địa thật EA (Effective Address) với lệnh thường EA = AC hay EA = Stack[SP] (nghĩa đỉnh ngăn xếp) Cách định địa tức thời (Immediate addressing mode) • Thay địa tốn hạng, với cách tốn hạng có sẵn lệnh Do đó: – Khơng cần có địa tốn hạng lệnh – Tuy nhiên phải rõ giá trị tốn hạng lệnh – Đơi cần nhiều bit số bit dành cho địa – Nhanh chóng có giá trị tốn hạng Cách định địa ghi (Register addressing mode) Cách định địa gián tiếp qua ghi (Register Indirect addressing mode) Vùng địa lệnh chứa địa ghi CPU - Toán hạng cần lấy phải ghi - Địa ngắn địa nhớ - Tiết kiệm vùng địa lệnh - Nhận toán hạng nhanh định địa nhớ - Địa thật EA = IR(R) (IR=thanh ghi lệnh; IR(R): vùng ghi IR) Trong lệnh ghi chứa địa nhớ tốn hạng - Tiết kiệm số bit lệnh địa ghi ngắn địa nhớ - Nhận toán hạng chậm định địa ghi hay định địa nhớ - Địa thật EA = [IR(R)] (với [x] nội dung x) Thanh ghi sử dụng cách có thêm đặc tính tự động tăng (thêm 1) tự động giảm (bớt 1), đặc tính đặc biệt có lợi dùng ghi để truy cập nhớ, giá trị ghi tăng (thêm 1) giảm (bớt 1) cách tự động 13-Feb-11 Cách định địa trực tiếp (Direct addressing mode) Cách định địa gián tiếp (Indirect addressing mode) Trong lệnh chứa địa nhớ mà sử dụng trực tiếp với nhớ thật - Nhanh cách định địa nhớ khác - Với vùng nhớ thật lớn cần nhiều bit cho địa - Địa thật EA = IR(addr) (IR(addr)=vùng địa IR) Vùng địa lệnh địa ô nhớ mà chứa địa toán hạng - Khi sử dụng địa viết gọn định địa cho vùng nhớ lớn với số bit tương đối nhỏ - Làm chậm việc nhận tốn hạng phải truy cập thêm nhớ - Địa thật EA = M[IR(addr)] Các cách định địa tương đối (Relative addressing modes) Các thí dụ cách định địa Vùng địa lệnh phần địa (địa viết gọn) mà sử dụng với ghi có đề cập lệnh để tính địa thật toán hạng - Vùng địa lệnh ngắn - Có thể truy cập vùng nhớ lớn với số bit cho địa nhỏ - Địa thật EA = f(IR(addr), R) (với R hiểu ngầm) Bit, Byte word Với thời đại số thơng tin sinh ra, truyền lưu trữ dạng nhị phân 1.4 BỘ NHỚ • Bit đơn vị thơng tin nhị phân (bit=binary digit) Nó lấy giá trị Trong máy tính số bit truyền qua kết nối điện lưu trữ tế bào nhớ • Byte đơn vị lớn gồm bit • Word nhóm gồm nhiều byte (tùy theo quy ước số byte 1, 2, 4, 8, ) Theo quy ước thơng thường word gồm byte (hay 16 bit) word dài gồm byte (32 bit) 13-Feb-11 Các loại nhớ Các loại nhớ • • • • • • • • • • • Dung lượng nhớ RAM= Random Access Memory (bộ nhớ truy cập ngẫu nhiên) SRAM (S=Static), DRAM (D=Dynamic) ROM= Read Only Memory M= Mask Programmed (được lập trình che mặt nạ) P = Programmable (lập trình được, khả lập trình) EP = Erasable and Programmable EEP = Electrically Erasable and Programmable (xóa lập trình điện) (E2ROM) PLD = Programmable Logic Device PLA = Programmable Logic Array (mảng logic lập trình được) PAL = Programmable Array Logic (logic mảng lập trình được) LCA = Logic Cell Array (Mảng tế bào logic) Các IC ROM thơng dụng • Một nhớ có độ rộng liệu m bit với N đường địa có dung lượng (tính theo bit) 2N x m • Dung lượng nhớ tính theo kilobyte (KB), megabyte (MB) gigabyte (GB) (với m=8) 1K=210=1024 1M=220=1024K 1G=230=1024M=220K Một số IC DRAM Một số IC SRAM 13-Feb-11 ROM x đơn giản Mảng nhớ (Memory array) Cấu trúc ROM nội tác dụng ngõ vào điều khiển Mạch hỗ trợ cho nhớ 16 x với mảng nhớ x Tổ chức mảng x nhớ 16 bit Little Endian Big Endian • Đánh số thứ tự từ phải sang trái (từ MSB đến LSB) gọi little endian • Đánh số thứ tự từ trái sang phải (từ LSB đến MSB) gọi big endian Little Endian Big Endian (tt) Khi kể đánh số byte word ta có đến khả năng: • qn với little endian (TD: họ Intel 80x86) đánh số byte từ phải sang trái, đánh số bit từ phải sang trái • quán với big endian (TD: PDP11, TI 9900) đánh số byte từ trái sang phải, đánh số bit từ trái sang phải • khơng qn với little endian đánh số byte từ phải sang trái, đánh số bit từ trái sang phải • khơng qn với big endian (TD: Motorola 68000) đánh số byte từ trái sang phải, đánh số bit từ phải sang trái 10 13-Feb-11 Thí dụ: thứ tự byte little endian big endian One Annoying Thing: Byte Order • Hosts differ in how they store data – E.g., four-byte number (byte3, byte2, byte1, byte0) • Little endian (“little end comes first”)  Intel PCs!!! – Low-order byte stored at the lowest memory location – Byte0, byte1, byte2, byte3 • Big endian (“big end comes first”) – High-order byte stored at lowest memory location – Byte3, byte2, byte1, byte • Makes it more difficult to write portable code – Client may be big or little endian machine – Server may be big or little endian machine Endian Example: Where is the Byte? 31 24 bits memory 23 16 LittleEndian 78 1000 +3 1002 1004 1008 1003 1006 100C +2 +1 +0 78 1.5 NGOẠI VI 1004 +0 1000 1000 1002 78 32 bits Memory +0 78 1001 1000 BigEndian 16 bits Memory +1 1000 15 78 +1 +0 +1 +2 +3 1000 78 1001 1002 1002 1004 1004 1008 1003 1006 100C Phân loại ngoại vi Bus I/O module giao tiếp 11 13-Feb-11 • Mỗi thiết bị ngoại vi có module giao tiếp tương ứng với Module giao tiếp có nhiệm vụ: – – – – Giải mã địa thiết bị (mã thiết bị) Giải mã lệnh (tác vụ) Cung cấp tín hiệu cho điều khiển ngoại vi Đồng hóa luồng liệu giám sát tốc độ chuyển liệu ngoại vi với CPU nhớ • Lệnh I/O tiêu biểu có dạng: TD: Kết nối bus I/O đến mạch giao tiếp Bus I/O bus nhớ (1/2) • Chức bus - Bus nhớ: dành cho chuyển thông tin CPU nhớ - Bus I/O: dành cho chuyển thông tin CPU thiết bị ngoại vi qua giao tiếp I/O • Tổ chức vật lý - Nhiều hệ thống sử dụng chung bus hệ thống cho nhớ đơn vị I/O Sử dụng bus chung với đường điều khiển riêng cho chức dạng có đường điều khiển chung cho chức - Một số hệ sử dụng bus riêng, để liên lạc với nhớ, lại liên lạc với giao tiếp I/O Bus I/O bus nhớ (2/2) I/O cách ly I/O ánh xạ nhớ (Isolated I/O and memory-mapped I/O) Bus I/O - Liên lạc CPU tất đơn vị giao tiếp qua bus I/O chung - Giao tiếp kết nối với thiết bị ngoại vi có số ghi liệu, ghi điều khiển ghi trạng thái - Lệnh chuyển đến ngoại vi cách gửi đến ghi ngoại thích hợp - Có thể khơng cần mã chức đường dò (cảm nhận) (sense lines) (chuyển liệu, điều khiển thông tin trạng thái luôn qua bus I/O chung) 12 13-Feb-11 Giao tiếp I/O lập trình Các vấn đề chuyển liệu Hoạt động đồng bất đồng – đồng (synchronous): Tất thiết bị có thơng tin định từ đường xung nhịp chung – bất đồng (asynchronous): Khơng có xung nhịp chung Chuyển liệu bất đồng Chuyển liệu bất đồng với xung strobe • Chuyển liệu bất đồng đơn vị độc lập cần có tín hiệu điều khiển truyền đơn vị truyền thông để thời điểm mà liệu truyền • Có hai phương pháp chuyển liệu bất đồng bộ: – Xung strobe: Xung strobe cung cấp đơn vị để báo cho đơn vị việc chuyển liệu xảy – Thực bắt tay (Handshaking): Một tín hiệu điều khiển kèm với liệu truyền để diện liệu Đơn vị nhận trả lời với tín hiệu điều khiển khác để báo nhận liệu Chuyển liệu khởi động đơn vị nguồn với phương pháp bắt tay Chuyển liệu khởi động đơn vị đích với phương pháp bắt tay 13 13-Feb-11 Truyền liệu nối tiếp bất đồng (Asynchronous serial transfer) • Có loại truyền liệu: - Truyền nối tiếp bất đồng - Truyền nối tiếp đồng - Truyền song song bất đồng - Truyền song song đồng • Truyền nối tiếp bất đồng - Sử dụng bit đặt biệt chèn vào đầu mã ký tự - Mỗi ký tự bao gồm phần: bit bắt đầu (Start bit), bit liệu (Data bits) bit dừng (Stop bits) (có thể 1, 1½ bit dừng) Truyền liệu nối tiếp bất đồng Bộ thu phát ký tự dựa quy tắc sau: Khi liệu không gửi đi, đường dây giữ trạng thái (trạng thái nghỉ) Khởi động truyền ký tự phát “Start bit” (luôn 0) Các bit ký tự luôn theo sau “Start bit” Sau hết ký tự, “Stop bit” phát đường dây quay trạng thái khoảng thời gian bit Bộ thu phải biết trước tốc truyền bit số bit thông tin mong muốn Bộ thu phát bất đồng vạn UART (Universal Asysnchronous Receiver-Transmitter) Các phương pháp điều khiển I/O Có phương pháp để chuyển liệu máy tính trung tâm (CPU hay nhớ) thiết bị ngoại vi: Hỏi vòng (polling) hay gọi I/O điều khiển chương trình (Program-controlled I/O) I/O ngắt (interrupt-initiated I/O), DMA (Direct Memory Access=Truy cập nhớ trực tiếp) Chú ý: Người ta kết hợp phương pháp Polling I/O điều khiển lập trình Lưu đồ vịng lặp polling Kỹ thuật polling có hạn chế: Mất thời gian MPU (do kiểm tra trạng thái tất ngoại vi thường xuyên ) Chậm, làm trở ngại hệ thống thời gian thực, không thỏa mãn cho thiết bị nhanh (thí dụ: disks CRT) 14 13-Feb-11 I/O ngắt (Interrupt) DMA (Direct Memory Access) Phần cứng DMAC (Direct Memory Access Controller= Bộ điều khiển truy cập nhớ trực tiếp) thiết kế để thực chuyển liệu tốc độ cao nhớ thiết bị Do đó, DMAC cần sử dụng hai bus liệu bus địa Bus 1.6 BUS HỆ THỐNG • • • Cài đặt bus chung với Bus dồn kênh (Multiplexer Bus) Bus hai chiều (bidirectional) hay chiều (unidirectional) Nếu hai liệu địa truyền bus người ta gọi bus có dồn kênh (multiplexed) Nếu hai thiết bị gửi thơng tin đồng thời bus xảy tranh chấp bus (bus contention) có thiết bị hư Cài đặt bus chung với Các đệm bus trạng thái 15 13-Feb-11 Chu kỳ đọc bus (Read Bus Cycle) Chu kỳ ghi bus (Write Bus Cycle) Giải mã địa (Addressing Decoding) 1.7 GIẢI MÃ ĐỊA CHỈ • CPU cho phép chip nhớ (hoặc thiết bị I/O) muốn liên lạc với Để thực việc CPU sử dụng mạch giải mã địa • Các phương pháp giải mã địa chỉ: Giải mã đầy đủ hay toàn phần (Full decoding): Mỗi ngoại vi gán với địa Tất bit địa dùng để định nghĩa vị trí tham chiếu Giải mã phần (Partial decoding): Không phải tất bit xử dụng trình giải mã Các ngoại vi đáp ứng với địa Phương pháp làm giảm độ phức tạp mạch giải mã địa 16 13-Feb-11 Thí dụ: Thiết kế mạch ánh xạ chip nhớ EPROM 2764 khác (mỗi EPROM tổ chức 8K x bits) thành khối nhớ 64K byte với địa vật lý dãi F0000H đến FFFFFH Bài giải Mỗi EPROM 2764 ánh xạ trực tiếp vào khối KB sau Khối thứ 1: F0000 - F1FFFh Khối thứ 2: F2000 - F3FFFH Khối thứ 3: F4000 - F5FFFH Khối thứ 4: F6000 - F7FFFH Khối thứ 5: F8000 - F9FFFH Khối thứ 6: FA000 - FBFFFH Khối thứ 7: FC000 - FDFFFH Khối thứ 8: FE000 - FFFFFH Bảng nhớ (memory map) bảng I/O • Bảng nhớ Bảng nhớ minh họa đoạn sử dụng với RAM, ROM số trường hợp thiết bị I/O Thí dụ: 1.8 ĐỊNH THÌ (Timing) • Bảng I/O hay Vùng I/O Được tổ chức định địa vùng nhớ Mỗi địa tương ứng với cổng I/O (thông thường rộng bit) Các quy ước giản đồ định 17 13-Feb-11 Định đọc cấp hệ thống Định ghi nhớ Giao tiếp DRAM 18 13-Feb-11 Định đọc với DRAM Định ghi với DRAM Chương trình 1.9 CHƯƠNG TRÌNH • Chương trình (program) danh sách lệnh (instruction=lệnh, thị) hay phát biểu (statement) để điều khiển máy tính hay CPU thực công việc xử lý liệu mong muốn • Có nhiều loại ngơn ngữ lập trình: – Ngôn ngữ máy (machine language) + Mã nhị phân + Mã bát phân hay thập lục phân – Hợp ngữ (Assembly Language) (cần có Assembler [Trìnhdịch hợp ngữ])  Mã ký hiệu – Ngơn ngữ cấp cao (cần có Compiler [Trình biên dịch]) Ngơn ngữ máy • Một chuỗi mã nhị phân biểu diễn công việc mà vi xử lý thực thi Dạng dài bit đơn giản hóa dạng số Hex hay Octal Ngơn ngữ khó lập trình Các vi xử lý khác có ngơn ngữ máy khác • Thí dụ: 19 13-Feb-11 Lưu đồ chương trình (Program flowchart) 1.10 VI ĐIỀU KHIỂN Các giới hạn vi xử lý – Cần nhớ để thực thi chương trình – Khơng thể giao tiếp trực tiếp với thiết bị I/O So sánh vi xử lý (MPU) vi điều khiển (MCU) • MPU: – Được thiết kế để thực chức CPU hệ máy vi tính – Tập lệnh xếp phép mã lượng lớn liệu chuyển vi xử lý với nhớ ghi – Các tác vụ tác động với nhóm bit khơng nhỏ bit • MCU: – Được thiết kế để làm việc với mạch tối thiểu – Tập lệnh đơn giản (khoảng 255 lệnh) – Các tác vụ tác động lên bit • MCU máy tính với tất chip: MCU = CPU + Bộ nhớ + Giao tiếp I/O 20 13-Feb-11 Microprocessor and Microcontroller Sơ đồ khối MCU 21

Ngày đăng: 13/04/2023, 08:09

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

Tài liệu liên quan