Giáo Trình Kiến Trúc Máy Tính - Nguyễn Hữu Lộ phần 7 pps

13 500 2
Giáo Trình Kiến Trúc Máy Tính - Nguyễn Hữu Lộ phần 7 pps

Đ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

Cấn Trúc Máy Tính -79- Hình 3.13: Một thí dụ sơ đồ cấu tạo của 1 chip DRAM 3. Một số khái niệm về bộ nhớ khác: - Bộ nhớ chớp nhoáng (Flash Memory) Trong ít năm gần đây, một loại bộ nhớ không bay hơi mới đã xuất hiện trên thò trường, thường được sử dụng thay thế cho các ổ đóa mềm và cứng trong những máy tính xách tay (notebook). Đó là bộ nhớ flash. Cấu trúc của chúng cơ bản như EEPROM. Do vậy chỉ cần điện thế cỡ 12 V là có thể cho phép thực hiện 10 000 chu trình xoá và lập trình. Bộ nhớ flash có thể hoạt động gần mềm dẻo như DRAM và SRAM nhưng lại không mất số liệu khi bò cắt điện. Mục đích sử dụng chính của bộ nhớ flash là để thay thế cho các ổ đóa mềm và ổ đóa cứng dung lượng nhỏ> Do nó là mạch tích hợp nên có ưu điểm là kích thước nhỏ và tiêu tán năng lượng thấp, không bò ảnh hưởng của va đập. Các đóa cứng chất rắn dựa trên cơ sở các bộ nhớ flash có lợi thế về công suất tiêu thụ cũng như giá thành có dung lượng tới vài MByte. Các card nhớ loại này cũng có ưu điểm là không gặp phải vấn đề mất thông tin như trường hợp RAM CMOS khi pin Ni-Cd bò hỏng. Thời gian lưu trữ thông tin trong bộ nhớ flash ít nhất cũng là 10 năm còn thì phải là 100 năm, trong thời gian này thì các đóa mềm và cứng đã bò hỏng rồi. - Bộ nhớ cache (khay) Với các cpu tốc độ nhanh (trên 33MHz), cần phải xen các trạng thái đợi khi truy xuất dữ liệu tới các DRAM rẻ tiền nhưng có thời gian thâm nhập chậm (60-120ns). Điều đó làm giảm hiệu suất của toàn máy tính. Có thể giải quyết bằng cách dùng các SRAM có thời gian thâm nhập ngắn hơn (20-25ns, thâ.m chí 12ns) nhưng giá thành lại rất đắt. Bộ nhớ cache kết hợp được các lợi điểm nhanh của SRAM và rẻ của DRAM để xây dựng được một bộ nhớ có hiệu suất cao cho PC. Giữa CPU và bộ nhớ chính bằng DRAM, người ta xen vào một bộ nhớ SRAM nhanh có dung lượng nhỏ bằng 1/10 hoặc 1/100 lần bộ nhớ chính gọi là cache; dưới sự điều khiển của bộ điều khiển cache, Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -80- bộ nhớ này sẽ lưu trữ tạm thời các số liệu thường được gọi và cung cấp nó cho CPU trong thời gian ngắn. - Bộ nhớ video Trước đây người ta sử dụng RAM động DRAM (Dynamic RAM) làm RAM video nhưng loại RAM này ngày càng không thích hợp với các board video đồ hoạ có độ phân giải cao đòi hỏi tốc độ truyền dữ liệu phải rất cao. Thí dụ ở độ phân giải 1024*768, tần số quét dọc 72 Hz, số bit màu là 24 bit (màu thực) bộ nhớ RAM video phải được đọc ở tốc độ khoảng 170 triệu bit trong một sec, là tốc độ gần tối đa của các DRAM quy ước. Hiện nay người ta dùng các loại RAM khác như EDO–RAM (Extended Data Out), V–RAM ( Video RAM ), MD–RAM (Multibank RAM ). SG- RAM (Synchronous Graphics RAM ) làm RAM video. EDO–RAM là loại RAM nạp độc lập trước cho những mạch riêng biệt lần truy xuất kế tiếp sẽ bắt đầu trước khi lần truy xuất trước đó hoàn tất. EDO–RAM còn được sử dụng trong bộ nhớ chính. V–RAM là loại bộ nhớ có cổng kép cho phép bộ xử lý và chip gia tốc trên board video cũng như chip DAC hoặc ngay cả bộ vi xử lý của PC có thể truy xuất RAM video cùng một lúc. MD–RAM là kiểu bộ nhớ chuyên dùng cho những ứng dụng đồ hoạ và hình ảnh. MD-RAM được tổ chức thành những dãy nhỏ cho phép cài đặt ở nhiều kých thước đa tích hợp 32KB. Lấy thí dụ với độ bộ phân giải 1924 * 768 và 24 bit màu ta cần kých thước bộ nhớ RAM video là 2.3MB. Nếu dùng các D–RAM 256 K* 16 và bus 64-bit kých thước bộ nhớ RAM video phải là 4 MB bao gồm hai dãy mỗi dãy bốn chip nhớ. Bằng cách dùng MD–RAM ta có thể cấu tạo bộ nhớ 2.5 MB với hai hoặc ba chip rời. Như vậy tránh lãng phí được 1.5 MB, từ đó giảm giá thành cho bộ nhớ RAM video . SG–RAM là kiểu bộ nhớ có thể hoạt động được ở tần số 66 MHz hoặc nhanh hơn cũng như được sử dụng trong các board mẹ có đònh chuẩn bus liên kết nối thành phần ngoại vi PCI ( peripheral component interconnect ) . Các hệ thống bus sử dụng trong máy tính (như ISA, EISA hoặc MCA) ảnh hưởng đến tốc độ xử lý các thông tin hình ảnh. Chi tiết các loại bus này và các bus khác sẽ được đề cập đến trong chương 3. Bus ISA có 16 bit dữ liệu hoạt động ở tần số 8.33 MHz. Các bus EISA và MCA có 32 bit dữ liệu nhưng chỉ hoạt động ở tần số thứ 10 MHz . Các tần số vừa nêu là các tốc độ bus, không phải là tốc độ của CPU . Để cải thiện giới hạn này, người ta đổ xung bus cục bộ VESA (VL–Bus) 32–bit hoạt động ở tốc độ đầy đủ ở CPU lên đến 40 MHz. Khi hệ thống bus PCI được áp dụng , số bit dữ liệu được xử lý đồng thời là 64 bit với tốc độ 66MHz . Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -81- Cho đến hiện nay những người sử dụng máy tính đã được nghe nhiều về các board video đa phương tiện (Multimedia ) có khả năng sử lý các ảnh tónh và ảnh động, xử lý tính hiệu hình, xử lý đồ hoạ v.v… . Cũng như các board video xử lý ảnh động ba chiều ( 3– D ) . Trên các board video loại này người ta dùng chip chuyên dùng ASIC để nén và giải nén tín hiệu video theo giải thuật của MPEG . IV. Giao tiếp Một hệ thống máy tính có kích thước nhỏ đến trung bình tiêu biểu bao gồm một chip vi xử lý, các chip nhớ và một số bộ điều khiển I/O, tất cả đều được nối qua một bus. Ta đã nghiên cứu chi tiết về các bộ nhớ, các bộ vi xử lý và các bus. Phần này sẽ xem xét phần cuối cùng, các chip I/O. Qua những chip này máy tính truyền thông với thế giới bên ngoài. 1. Các chip I/O Có nhiều chip I/O đã được sử dụng và cũng có nhiều chip mới sản xuất đang được giới thiệu. Các chip thông dụng bao gồm các UART, USART, các bộ điều khiển CRT, các bộ điều khiển đóa và các PIO. UART (Universal Asynchronous Receiver Transmitter) là một chip có thể đọc một byte từ bus dữ liệu và ở từng thời điểm xuất từng bit nối tiếp nhau tới thiết bò đầu cuối trên đường truyền nối tiếp, hoặc nhập dữ liệu từ thiết bò đầu cuối. Tốc độ cho phép của các UART thường từ 50 bps tới 19.2 Kbps, độ rộng ký tự từ 5 tới 8 bit; có 1, 1.5 hoặc 2 bit stop, có thể dùng hoặc không dùng bit kiểm tra chẳn lẻ, tất cả đều dưới sự điều khiển của chương trình. USART (Universal Synchronous Receiver Transmitter) có thể điều khiển truyền đồng bộ bằng cách dùng nhiều nghi thức khác nhau và cũng thực hiện tất cả chức năng của một UART. Vì chúng ta đã xét UART ở chương 2, nên phần này chỉ nghiên cứu về giao tiếp song song ( parallel interface ) như một thí dụ cho một chip I/O. Chip PIO Chip xuất / nhập song song PIO ( Parallel Input / Output ) tiêu biểu là chip 8255A của Intel, được trình bày trong hình 3.14. 8255A có 24 đường I/O để giao tiếp với bất kỳ thiết bò nào tương thích với TTL, thí dụ như bàn phím, chuyển mạch, đèn hoặc máy in. Chương trình của CPU có thể ghi 0 hoặc 1 lên một đường bất kỳ hoặc đọc trạng thái nhập của một đường bất kỳ, cung cấp sự linh hoạt nhất trong giao tiếp với ngoại vi. Một hệ thống nhỏ dựa trên bộ vi xử lý sử dụng một PIO thường có thể thay thế hoàn toàn một board gồm nhiều chip SSI và MSI. Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -82- Hình 3.14 : Chip PIO 8255A hình cho 8255A theo nhiều cách bằng việc nạp các thanh ác cung cấp khả năng bắt tay với các thiết bò ngoại vi và xuất còn c Mặc dù CPU có thể đònh cấu ghi trạng thái bên trong chip, chúng ta sẽ tập trung trên một số chế độ hoạt động đơn giản. Cách đơn giản nhất là sử dụng 8255A như 3 cổng 8 – bit (8 bit port) độc lập: A, B và C. Mỗi cổng kết hợp với một thanh ghi chốt 8 bit bên trong 8255A. Để thiết lập các đường tín hiệu trên cổng, CPU chỉ phải ghi một số 8 bit vào thanh ghi tương ứng, số 8-bit sẽ xuất hiện trên các đường tín hiệu xuất và sẽ duy trì giá trò (được chốt) cho tới khi thanh ghi được ghi lần nữa. Để dùng cổng làm một cổng nhập, CPU chỉ phải đọc thanh ghi tương ứng. Các chế độ hoạt động kh nhập 2 chiều. Thí dụ để xuất dữ liệu cho một thiết bò không luôn luôn sẵn sàng nhận dữ liệu trong chế độ bắt tay, 8255A sẽ đưa dữ liệu lên cổng xuất và đợi thiết bò ngoại vi gởi 1 xung trở về báo rằng vừa nhận dữ liệu và yâu cầu dữ liệu kế. Mạch logic cần thiết để chốt những xung như vậy và làm cho chúng có giá trò đối với CPU được bao gồm bên trong phần cứng của 8255A. Từ sơ đồ chức năng của 8255A chúng ta thấy ngoài 24 chân cho 3 cổng, 8255A ó 8 đường dữ liệu nối trực tiếp với bus dữ liệu và các đường khác: một đường chọn chip, các đường điều khiển đọc và ghi dữ liệu, 2 đường đòa chỉ và một đường để thiết lập lại trạng thái ban đầu cho chip. Hai đường đòa chỉ chọn một trong 4 thanh ghi nội, tương ứng với các cổng A, B, C và thanh ghi trạng thái. Thanh ghi này có các bit xác đònh cổng nào là cổng nhập và cổng nào là cổng xuất và những chức năng khác. Bình thường, 2 đường đòa chỉ của 8255A được nối với các bit thấp nhất của bus đòa chỉ. 2. Giải mã đòa chỉ. Cho đến lúc này chúng ta đã sơ bộ biết qua cách chọn chip đối với các chip bộ nhớ v O được chọn theo một trong hai cách : như một thiết bò I/O thực sự hoặc như một p à các chip I/O đã khảo sát. Mục này giúp chúng ta xem xét kỹ hơn vấn đề này. Hãy xét một máy vi tính đơn giản bao gồm một CPU 8-bit với 16 đường đòa chỉ, một EPROM 2K x 8 bit cho chương trình, một RAM 2K x 8 bit cho dữ liệu và một PIO. Hệ thống nhỏ này có thể được dùng như một mẫu (prototype) cho bộ não của một đồ chơi hoặc của một thiết bò đơn giản. Trong sản xuất EPROM có thể được thay thế bằng ROM. PI hần của bộ nhớ. Nếu được chọn như một thiết bò I/O, chúng ta phải xác đònh một không gian đòa chỉ I/O rõ ràng, thí dụ sử dụng tín hiệu IORQ trên IBM PC bus. Nếu được chọn như một phần của bộ nhớ, gọi là I/O được ánh xạ bộ nhớ (memory-mapped Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -83- I/O), chúng ta phải dành 4 byte trong không gian đòa ch nhớ cho 3 cổng 8 bit và thanh ghi điều khiển. Sự chọn lựa sau có hơi tùy tiện nhưng ta sẽ chọn theo cách này nhằm minh họa một số vấn đề đáng quan tâm trong giao tiếp với I/O. EPROM cần 2K không gian đòa chỉ, RAM cũng cần 2K và PIO cần 4 byte. Do không gian đòa chỉ là 64 khác, chúng ta phải chọn vò trí đặt 3 thành ph ỉ bộ ần này vào trong khôn ếu chúng ta đã chọn đòa chỉ cho P xxxxx (nhò phân). Do EPRO g gian đòa chỉ đó. Một khả năng được trình bày trong hình 3.12, trong đó EPROM chiếm các đòa chỉ từ 0 đến 2K, RAM chiếm các đòa chỉ từ 32K đến 34K và PIO chiếm 4 byte cao nhất của không gian đòa chỉ từ 65532 tới 65535. Theo quan điểm của người lập trình, không có sự khác nhau trong việc chọn cách đònh đòa chỉ cho I/O. Tuy nhiên, đối với vấn đề giao tiếp, n IO thông qua không gian đòa chỉ I/O, ta sẽ không mất đòa chỉ dành cho bộ nhơ ù(nhưng tất nhiên sẽ mất 4 đòa chỉ trong không gian đòa chỉ I/O). Với cách phân đòa chỉ như trong hình 3.15, một byte của EPROM được tham chiếu bởi một đòa chỉ bộ nhớ 16 bit có dạng 00000xxxxxx M chiếm các đòa chỉ từ 0 đến 2K trong không gian đòa chỉ 64K nên 5 bit cao của đòa chỉ đều bằng 0. Do vậy, việc chọn chip EPROM có thể thực hiện bằng cách sử dụng một bộ so sánh 5 bit, ta sẽ so sánh 5 đường đòa chỉ cao với 00000. Hình 3.15 : Vò trí của EPROM, RAM và PIO trong không gian đòa chỉ 64K Phương pháp tốt hơn để nhận được cùng kết quả là dùng một cổng OR có 5 ngõ vào, đường đòa c 5 ngõ vào này được nối với các đường đòa chỉ A11-A15. Nếu và chỉ nếu 5 hỉ này đều bằng 0, do vậy CS được xác lập (xác lập ở mức thấp). Trên thực tế không có cổng OR 5 ngõ vào ở các họ SSI chuẩn. Cổng NOR 8 ngõ vào được sản xuất nhiều và có số ngõ vào tương đối thích hợp, ta sử dụng cổng này bằng cách nối đất 3 ngõ vào không dùng và đảo tín hiệu ngõ ra để có cùng kết quả với cổng OR 5 ngõ vào, như trong hình 3.13 (a). Theo quy ước, các ngõ vào không sử dụng sẽ không được vẽ trên sơ đồ mạch. Ta cũng dùng cùng nguyên tắc như vậy cho RAM. Các byte của RAM ứng với các đòa chỉ nhò phân có dạng 10000xxxxxxxxxxx, nên cần thêm một cổng đảo cho đườn å xác lập CS cho PIO chỉ khi trên bus đòa chỉ xuất hiện đúng đòa chỉ như trình bày trong hình vẽ. Ta sử dụng 2 cổng NAND 8 ngõ vào một g đòa chỉ A15 như trên hình vẽ. Giải mã đòa chỉ cho PIO hơi phức tạp hơn do PIO được chọn bởi 4 đòa chỉ có dạng 11111111111111xx. Một mạch có the Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -84- cổng OR 2 ngõ vào để nối các đường trên bus đòa chỉ với chân CS của PIO. Để thiết lập mạch logic giải mã đòa chỉ cho hình 3.16 (a), cần dùng 6 chip SSI : 4 chip 8 ngõ vào, 1 cổng OR 2 ngõ vào và một chip có 3 cổng đảo.Tuy nhiên, nếu máy tính thực sự chỉ có một CPU, 2 chip nhớ và PIO, ta có thể dùng một thủ thuật để đơn giản hóa việc giải mã đòa chỉ. Thủ thuật này thực tế dựa vào tất cả các đòa chỉ của EPROM và chỉ có đòa chỉ của EPROM có bit A15 bằng 0, ta có thể nối trực tiếp CS với A15 như trong hình 3.16 (b). Đến đây ta nhận thấy việc quyết đònh đặt RAM ở đòa chỉ 8000H có vẻ bớt tùy tiện. Có thể thực hiện giải mã RAM bằng cách chú ý đến các đòa chỉ của RAM đều có dạng 10xxxxxxxxxxxxxx, do vậy chỉ cần 2 bit là đủ. Tương tự, một đòa chỉ bất kỳ bắt đầu bằng 11 phải là đòa chỉ của PIO. Mạch logic giải mã đầy đủ bây giờ chỉ cần 2 cổng NAND và 1 cổng đảo. Do cổng đảo còn được tạo ra từ một cổng NAND bằng cách nối 2 ngõ vào lại với nhau, ta chỉ cần 1 chip có 4 cổng NAND 2 ngõ vào. Mạch logic giải mã đòa chỉ ở hình 3.16(b) được gọi là mạch giải mã đòa chỉ từng phần ( partial address decoding ) do không sử dụng toàn bộ đòa chỉ. Bất lợi của cách giải mã đòa chỉ này là việc đọc ở các đòa chỉ 0-0010- 00000000000 hoặc 0-0011-00000000000 hoặc 0-0100-00000000000 sẽ cho cùng kết quả. Thực tế, mọi đòa chỉ ở nửa dưới của không gian đòa chỉ sẽ chọn EPROM. Do ta khôn Hình 3.16: (a) Giải mã đòa chỉ toàn phần (b) Giải mã đòa chỉ từng phần g sử dụng các đòa chỉ khác với 00000xxxxxxxxxxx nên sự việc trên không gây một tổn hại nào. Tuy nhiên, nếu các nhà thiết kế máy tính muốn có thể nâng cấp trong tương lai, họ sẽ không dùng phương pháp giải mã đòa chỉ từng phần. Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -85- CHƯƠNG 4 LỚP VI CHƯƠNG TRÌNH Ranh giới giữa phần cứng và phần mềm không được xác đònh rõ, hơn nữa lại thường xuyên dòch chuyển. Các máy tính trước đây có các lệnh số học, logic, dòch, so sánh, lập vòng, v.v. … được thực thi trực tiếp bởi phần cứng. Với mỗi một lệnh, hòên hữu một mạch phần cứng riêng biệt để thực hiện lệnh này. Người ta có thể tháo ốc các bản mạch cũ (back panel) và chỉ ra các thành phần điện tử dùng cho lệnh chia, tối thiểu cũng về mặt nguyên tắc. Trên các máy tính lớp hiện nay, không còn đủ khả năng tách riêng các mạch chia do bởi chúng không hiện hữu. Tất cả các lệnh có thể có có ở lớp máy qui ước (thí dụ các lệnh số học, logic, dòch, so sánh và lập vòng) được thực thi từng bước bởi một trình phiên dòch chạy trên lớp vi chương trình . Ngày nay, thay vì tìm kiếm các mạch chia chúng ta lấy ra một bảng liệt kê của vi chương trình và tìm kiếm phần chương trình phiên dòch các lệnh chia. Mặc dù các phương trình ơ ûmột lớp có thể được thực thi bởi một trình phiên dòch, và m phiên ực thi bởi một trình phiên dòch khác ệ thống lớp bậc â tận. Lớp dưới cùng phải là một máy phần cứng thực sự với các mạch tích hợp, các nguồn cùng lớp và các đối tượng “cứng“ tương tự khác, chúng đã được đề cập đến trong chương trước. Trong chương này chúng ta sẽ nghiên cứu cách thức vi chương trình điều khiển các thành phần phần cứng và cách thức vi chương trình p của lớp máy quy ước. Ngày nay, có những máy không đươ õng chính vì vậy nên với lớp nay chúng ta chỉ khảo ôi. ặc dù trình dòch này cũng có thể được th , h này không thể tiếp tục đến vo hiên dòch các lệnh ïc vi chương trình hoá (máy RISC), cu sát sơ lược có tính chất lòch sử mà thø Do cấu trúc của lớp vi chương trình, gọi là vi cấu trúc, được xác đònh bởi phần cứng nên thường thô sơ và khó lập trình. Các khảo sát về đònh thì thường quan trọng và chúng đã dẫn Rosin ( 1974 ) đến đònh nghóa vi chương trình là “sự hiện thực các hệ thống hợp lý đày triển vọng thông qua sự phiên dòch trên các máy không hợp lý “ . Lớp vi chương trình có một chức năng đặc biệt: Thực thi các trình phiên dòch cho các máy ảo khác. Mục đích của thiết kế này hiển nhiên dẫn đến một tổ chức được tối ưu hóa cao độ đối với việc tìm-nạp, giải mã và thực thi các lệnh của lớp máy quy ước, và trong một số trường hợp, các lệnh phức tạp hơn nữa. Chúng ta sẽ bắt đầu việc khảo sát lớp vi chương trình bằng việc nhắc lại một cách tóm tắt các khối cơ bản trong mạch số, chúng là một phần trong cấu trúc của lớp vi chương trình do vậy cũng liên quan đến các vi lập trình viên (microprogrammer). Vi chương trình viên là người viết các vi chương trình, không phải là lập trình viên nhỏ (small programmer). Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -86- Kế đến chúng ta đi vào trọng tâm của vấn đề, cách thức các lệnh phức tạp hơn được thiết lập từ chuỗi các lệnh (primitive). Công việc của vi lập trình viên là viết một chương trình điều khiển các thanh ghi, các bus, các ALU, các bộ nhớ và các thành phần phần cứng khác của máy. Các thành phần này hoặc được tìm thấy trong các tài liệu về mạch số hoặc đã được khảo sát trong chương trước, ở đây chúng ta chỉ nhắc lại một cách tóm tắt. I. NHẮC LẠI LỚP VẬT LÝ: 1. Các thanh ghi: Thanh ghi là thành phần lưu trữ thông tin. Lớp vi chương trình luôn luôn có một số tha ài chip xử lý. nhiêu ät thanh ghi không làm thay đổi nội dung của t nh ghi nhằm lưu dữ thông tin cần thiết cho việc xử lý lệnh đang được phiên dòch. Các thanh ghi đại khái cũng giống như bộ nhớ chính, điểm khác nhau là các thanh ghi được đặt bên trong bộ xử lý nên chúng được đọc và ghi nhanh hơn so với việc đọc và ghi các từ trong bộ nhớ chính, bộ nhớ thường đặt bên ngo Các máy tính lớn hơn và đắt tiền hơn thường có nhiều thanh ghi hơn các máy nhỏ và rẽ tiền, chúng phải sử dụng bộ nhớ chính để lưu trữ các kết quả trung gian. Trên một số máy tính, một nhóm thanh ghi được đánh số 0, 1, 2 … , n - 1 có giá trò ở lớp vi chương trình còn được gọi là cục bộ (local) hay bộ nhớ nháp (Scratchpad memory). Một thanh ghi có thể đặt trưng hoá bằng một con số cho biết thanh ghi lưu trữ bao bit. Thông tin đặt trong thanh ghi sẽ tồn tại cho đến khi có một thông tin khác thay thế. Qúa trình đọc thông tin ra khỏi mo hanh ghi này. Nói cách khác, khi một thanh ghi được đọc, một bản sao nội dung của thanh ghi được tạo ra và bản gốc trong thanh ghi không bò xáo trộn. 2. Bus nội: Bus nội là tập hợp các đường dây truyền tín hiệu theo dạng song song. Thí dụ: dung của một thanh ghi được sao chép đến một hống đã khảo sát ở chương 3, các bus này chỉ kết nối hai thành phần do vậy không cần các đường đòa chỉ hoặc các đường điều khiển bao q hướng chuyển dữ lie các bus được dùng để cho phép nội thanh ghi khác. Không giống bus hệ t uát chỉ cần n đường dữ liệu và trong trường hợp tổng quát một hoặc hai đường điều khiển cũng đủ. Các bus được dùng do bởi việc chuyển song song tất cả các bit cùng một lúc sẽ nhanh hơn nhiều so với truyền nối tiếp từng bit một ở mỗi thời điểm. Một bus có thể là đơn hướng (unidirectional) hay song hướng (bidirectional). Bus đơn hướng chỉ có thể chuyển dữ liệu theo một chiều trong khi bus song äu theo cả hai chiều nhưng không đồng thời. Các bus đơn hướng điển hình được dùng để nối hai thanh ghi, một thanh ghi luôn luôn là nguồn và thanh ghi còn lại luôn luôn là đích. Các bus song hướng điển hình được dùng khi bất kỳ thanh ghi nào trong tập thanh ghi cũng có thể là nguồn hoặc là đích. Nhiều thành phần có khả năng tự kết nối hoặc không kết nối về mặch đòên với bus (nhưng vẫn kết nối về mặt vật lý. Các kết nối này có thể được thực hòên hoặc không trong vài ngiây. Một bus mà các thành phần kết nối có đặc tính này được gọi là Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -87- bus ba trạng thái (tristate bus) vì mỗi một đường của bus có thể là 0, 1 hoặc không kết nối. Các bus ba trạng thái được sử dụng rộng rãi khi có nhiều thành phần nối đến bus và chúng đều có khả năng đưa thông tin lên bus . mô tả một thanh ghi 8 bit được nối với một bus nhập và một bus xuất. nên b Hình 4.1 (a) Thanh ghi bao gồm 8 flip flop loại D, mỗi flip flop lưu trữ 1 bit và được nối với bus xuất qua một cổng đệm không đảo. Thanh ghi có hai tín hiệu điều khiển, CK và cho phép xuất OE (output enable), nối đến tất cả các flip flop. Bình thường 2 tín hiệu này ở trạng thái tónh nhưng thỉnh thoảng chúng được xác lập, gây nên tác động tương ứng. Khi CK không xác lập, nội dung của thanh ghi bởi các tín hiệu trên Bus. Khi CK xác lập, thanh ghi được nạp từ bus nhập. Khi OE không xác lập, thanh ghi không được kết nối với bus xuất. Ngược lại khi OE được xác lập, nội dung của thanh ghi được nạp us xuất ( thanh ghi xuất thông tin lên bus ) Hình 4.1 (a) chi tiết một thanh ghi 8-bit nối với một bus nhập và một bus xuất b) ký hiệu của một thanh ghi 16 – bit với một bus nhập và 2 bus xuất Nếu có một thanh ghi khác, R chẳng hạn, có các ngõ vào nối với Bus xuất của thanh ghi vừa mô tả ở trên, thanh gi này có thể truyền thông tin đến R. Để thực hiện điều này, OE phải được xác lập và giữ ở trạng thái này đủ lâu để đưa thông tin lên bus ổn đònh. Kế đến đường CK của R được xác lập để nạp cho R thông tin này. Thao tác mở cổng đưa thông tin của một thanh ghi lên bus để nột thanh ghi khác nạp vào thường xảy ra ở lớp vi chương trình. Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -88- Hình 4.1 b) trình bày một thanh ghi 16 bit với 2 bus xuất , mỗi bus được điều khiển bơiû một tín hiệu OE khác nhau II. MỘT VÍ DỤ VỀ VI CHƯƠNG TRÌNH: Hình 4.2: Sơ đồ khối của 1 CPU đơn giản của một máy tính điện tử thiết kế theo phương pháp vi chương trình hoá. Để thực hiện một lệnh cộng (ADD) cần một hệ tối thiểu các phép vi toán: Ký tự gợi nhớ Ghi chú MAR-M Nối MAR với BUS M MBR-M Nối MBR với BUS M PC-D Nối PC với BUS D IA-D Nối IA (của IR) với BUS D AC-D Nối Accumulator với BUS D MTS Nối BUS M với BUS S qua ALU DTS Nối BUS D với BUS S qua ALU S-MAR Nối BUS S với MAR Nguyễn Hữu Lộc Khoa Vật Lý [...].. .-8 9- Cấn Trúc Máy Tính S-MBR S-PC S-IR S-AC R W PLUS Nối BUS S với MBR Nối BUS S với PC Nối BUS S với IR Nối BUS S với AC Đọc nội dung trong Mem ra MBR Viết nội dung từ MBR vào Mem Cộng nội dung có trên BUS D và BUSM tại... PC-MAR DTS PCD SMAR |ADDR| R (MBR)IR MTS MBRM SIR DECOD JOPC (IA)MAR DTS IAD SMAR |DATA| R MBR+A PLUS MBRM ACD SAC PC+1 ONE PCD SPC Hình 4.4: Vi chương trình thực hiện lệnh ADD Sử dụng các phương pháp viết chương trình: - Móc nối chương trình con - Đánh đòa chỉ chỉ số hoá - Đánh đòa chỉ thông số hoá Ưu điểm: Giảm sai lầm logic - Có khả năng mô phỏng nhiều thiết bò có chức năng khác nhau bằng 1 máy -. .. logic - Có khả năng mô phỏng nhiều thiết bò có chức năng khác nhau bằng 1 máy - Xây dựng kết cấu của hệ thống có thể quyết đònh trong giai đoạn cuối của quá trình thiết kế Nguyễn Hữu Lộc Khoa Vật Lý -9 0- Cấn Trúc Máy Tính CHƯƠNG 4: LỚP VI CHƯƠNG TRÌNH Ranh giới giữa phần cứng và phần mềm không được xác đònh rõ, hơn nữa lại thường xuyên dòch chuyển Các máy tính trước đây có các lệnh số học, logic, dòch,... quan trọng và chúng đã dẫn Rosin ( 1 974 ) đến đònh nghóa vi chương trình là “sự hiện thực các hệ thống hợp lý đày triển vọng thông qua sự phiên dòch trên các máy không hợp lý “ Lớp vi chương trình có một chức năng đặc biệt: Thực thi các trình phiên dòch cho các máy ảo khác Mục đích của thiết kế này hiển nhiên dẫn đến một tổ chức được tối ưu hóa cao độ đối với việc tìm-nạp, giải mã và thực thi các lệnh... việc của vi lập trình viên là viết một chương trình điều khiển các thanh ghi, các bus, các ALU, các bộ nhớ và các thành phần phần cứng khác của máy Các thành Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -9 1- phần này hoặc được tìm thấy trong các tài liệu về mạch số hoặc đã được khảo sát trong chương trước, ở đây chúng ta chỉ nhắc lại một cách tóm tắt I NHẮC LẠI LỚP VẬT LÝ: 1 Các thanh ghi: Thanh ghi là... đắt tiền hơn thường có nhiều thanh ghi hơn các máy nhỏ và rẽ tiền, chúng phải sử dụng bộ nhớ chính để lưu trữ các kết quả trung gian Trên một số máy tính, một nhóm thanh ghi được đánh số 0, 1, 2 … , n - 1 có giá trò ở lớp vi chương trình còn được gọi là cục bộ (local) hay bộ nhớ nháp (Scratchpad memory) Một thanh ghi có thể đặt trưng hoá bằng một con số cho biết thanh ghi lưu trữ bao nhiêu bit Thông . D với BUS S qua ALU S-MAR Nối BUS S với MAR Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -8 9- S-MBR Nối BUS S với MBR S-PC Nối BUS S với PC S-IR Nối BUS S với IR S-AC Nối BUS S với AC R. chỉ. Bất lợi của cách giải mã đòa chỉ này là việc đọc ở các đòa chỉ 0-0 01 0- 00000000000 hoặc 0-0 01 1-0 0000000000 hoặc 0-0 10 0-0 0000000000 sẽ cho cùng kết quả. Thực tế, mọi đòa chỉ ở nửa dưới của. các phép vi toán: Ký tự gợi nhớ Ghi chú MAR-M Nối MAR với BUS M MBR-M Nối MBR với BUS M PC-D Nối PC với BUS D IA-D Nối IA (của IR) với BUS D AC-D Nối Accumulator với BUS D MTS Nối BUS M

Ngày đăng: 14/07/2014, 01:21

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: GIỚI THIỆU CHUNG.

    • I. NGÔN NGỮ VÀ MÁY ẢO, MÁY TÍNH NHIỀU CẤP.

    • II. PHẦN CỨNG VÀ PHẦN MỀM:

    • III. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH.

      • 1. Thế hệ không.

      • 2. Thế hệ thứ nhất.

      • 3. Thế hệ thứ hai.

      • 4. Thế hệ thứ ba.

      • 5. Thế hệ thứ tư.

      • CHƯƠNG 2: CẤU TRÚC CHUNG MÁY TÍNH.

        • I. CÁC BỘ XỬ LÝ.

          • 1. Thực hiện lệnh.

          • 2. Tổ chức CPU.

          • 3. Thực hiện lệnh song song.

          • II- BỘ NHỚ CHÍNH.

            • 1. Bit

            • 2. Địa chỉ bộ nhớ.

            • 3. Trật tự của byte.

            • 4. Mã sửa lỗi.

            • 5. Bộ nhớ chính trong các IBM PC.

            • III- CÁC THIẾT BỊ LƯU TRỮ (BỘ NHỚ PHỤ).

              • 1. Băng từ.

              • 2. Đĩa từ.

              • 3. Đĩa mềm.

              • 4. Đĩa quang.

              • IV - CÁC THIẾT BỊ VÀO / RA.

                • 1. Bàn phím.

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

Tài liệu liên quan