10/10 Kiểm tra cuối khoá Các chương

Kiểm tra cuối khoá

Bạn đã nắm được chuỗi từ công tắc điện tới một lệnh CPU chưa?

Cả khoá đi từ một công tắc điện tới một lệnh mà CPU thực sự chạy.

Bài kiểm tra dưới đây đi lại đúng chuỗi đó, theo thứ tự các bài.

Câu nào bạn trả lời sai, phần kết quả sẽ chỉ ra bài cần đọc lại.

Kiểm tra cuối khoá

Câu 1 / 28 Một mạch chỉ phân biệt ON và OFF. Ba công tắc đứng cạnh nhau tạo được bao nhiêu trạng thái khác nhau?
Xem đáp án

Mỗi công tắc nhân đôi số khả năng: 2 × 2 × 2 = 8, từ 000 tới 111.

Câu 2 / 28 Bật đúng các bit để tạo ra số 13.

Nhị phân 00000000 = thập phân 0

Xem đáp án

13 = 8 + 4 + 1, tức 00001101: bật bit giá trị 8, 4 và 1.

Câu 3 / 28 Vì sao máy tính dùng hai mức điện áp thay vì mười mức cho mười chữ số?
Xem đáp án

Điện áp trong mạch luôn dao động vì nhiễu và nhiệt độ. Chỉ phân biệt thấp hay cao thì dao động nhỏ không đổi được kết quả; mười mức sát nhau thì dễ nhầm.

Câu 4 / 28 Relay đổi trạng thái chậm hơn đèn điện tử chủ yếu vì sao?
Xem đáp án

Trong relay, từ trường phải kéo một lá kim loại tới đóng tiếp điểm. Chuyển động cơ học đó tốn cỡ mili giây. Trong đèn điện tử, chỉ có electron di chuyển.

Câu 5 / 28 Cathode đang nóng, nhưng grid bị đặt âm đủ mạnh. Dòng điện qua đèn thế nào?
Xem đáp án

Electron mang điện âm. Grid âm đẩy chúng về phía cathode, nên hầu như không electron nào tới được plate.

Câu 6 / 28 Sắp xếp những gì xảy ra khi một tín hiệu điện bật một relay.
  1. Dòng điện chạy vào cuộn dây
  2. Lá kim loại đóng mạch bên kia
  3. Từ trường hút lá kim loại
  4. Cuộn dây sinh ra từ trường
Xem đáp án

Điện vào cuộn dây tạo từ trường, từ trường kéo lá kim loại, lá kim loại đóng tiếp điểm. Bước kéo lá kim loại là chuyển động thật, nên relay chậm.

Câu 7 / 28 Điểm quyết định của transistor đối với máy tính là gì?
Xem đáp án

Transistor làm cùng việc với đèn ba cực, nhưng nhỏ, mát và in hàng loạt được. Nhờ vậy một con chip chứa được hàng tỷ công tắc.

Câu 8 / 28 Dòng điện đang chạy qua một transistor. Chân điều khiển (gate) bỗng mất điện. Chuyện gì xảy ra?
Xem đáp án

Gate là chân điều khiển của công tắc. Có điện ở gate thì dòng chạy, mất điện thì dòng dừng. Đèn điện tử làm cùng việc đó bằng lưới điều khiển.

Câu 9 / 28 Tạo đầu ra Y = 1 cho cổng AND.
AND Y = 0
Xem đáp án

AND chỉ ra 1 khi cả A và B đều là 1.

Câu 10 / 28 Hai công tắc nối tiếp nhau nối với một bóng đèn. Một công tắc đóng, một công tắc hở. Đèn có sáng không?
Xem đáp án

Nối tiếp giống cổng AND: chỉ khi cả hai cùng đóng thì dòng điện mới đi qua.

Câu 11 / 28 Chọn đầu vào A và B để cổng XOR cho ra 1.
XOR Y = 0
Xem đáp án

XOR ra 1 khi hai đầu vào khác nhau: A = 1, B = 0 hoặc A = 0, B = 1. Cả hai cùng là 1 thì XOR ra 0.

Câu 12 / 28 5 viết là 0101, 3 viết là 0011. Áp cổng XOR cho từng cột, bốn bit kết quả là gì?
Xem đáp án

Từ trái sang: 0 và 0 giống nhau ra 0, 1 và 0 khác nhau ra 1, 0 và 1 ra 1, 1 và 1 giống nhau ra 0. Kết quả 0110. Chương sau cho thấy vì sao con số này gần giống phép cộng mà chưa phải.

Câu 13 / 28 Half adder dùng cổng nào để tạo bit tổng (SUM)?
Xem đáp án

SUM ra 1 khi đúng một trong hai bit là 1, đó là quy tắc của XOR.

Câu 14 / 28 Tự cộng 0110 + 0011 từ phải sang trái, nhớ đủ các số nhớ, rồi bật đúng các bit của kết quả.

Nhị phân 00000000 = thập phân 0

Xem đáp án

Cột phải nhất 0 + 1 = 1. Cột hai 1 + 1 = 0, nhớ 1. Cột ba 1 + 0 + nhớ 1 = 0, nhớ 1. Cột trái nhất 0 + 0 + nhớ 1 = 1. Kết quả 1001, tức là 6 + 3 = 9.

Câu 15 / 28 ALU nhận A = 5, B = 3 và tín hiệu chọn phép tính SUB. Kết quả là gì?
Xem đáp án

Cùng hai số đầu vào, tín hiệu chọn phép tính quyết định ALU làm gì. SUB cho 5 − 3 = 2.

Câu 16 / 28 Đổi 4 bit đầu của lệnh 0001 0101 (LOAD 5) thành 0010. Lệnh mới làm gì?
Xem đáp án

Bốn bit đầu là opcode. 0010 là ADD, operand vẫn là 0101 = 5, nên lệnh thành ADD 5.

Câu 17 / 28 Tự ghép lệnh ADD 3 của TinyCPU: bốn bit đầu là opcode ADD (0010), bốn bit sau là số 3 (0011). Bật đúng các bit.

Nhị phân 00000000 = thập phân 0

Xem đáp án

ADD 3 = 0010 0011. Đọc như một con số thì đó là 32 + 2 + 1 = 35, nhưng CPU đọc nó như một lệnh.

Câu 18 / 28 Sắp xếp ba bước theo đúng thứ tự CPU làm với mỗi lệnh.
  1. Fetch
  2. Execute
  3. Decode
Xem đáp án

CPU lấy lệnh từ bộ nhớ (Fetch), tách lệnh để biết phải làm gì (Decode), rồi làm (Execute).

Câu 19 / 28 CPU vừa lấy lệnh ở ô 02. Thành phần nào cho CPU biết lệnh tiếp theo nằm ở đâu?
Xem đáp án

Program Counter giữ địa chỉ của lệnh sẽ lấy tiếp. Nó đã tăng lên 03 ngay trong bước Fetch.

Câu 20 / 28 CPU thực thi lệnh JUMP 00. Lần Fetch tiếp theo lấy lệnh ở đâu?
Xem đáp án

JUMP ghi đè Program Counter bằng địa chỉ 00, nên lần Fetch sau đọc ô 00.

Câu 21 / 28 Hai đầu vào đều là 1. Trong ba cổng AND, OR và XOR, cổng nào cho ra 0?
Xem đáp án

XOR ra 1 chỉ khi hai đầu vào khác nhau. 1 và 1 giống nhau nên XOR ra 0, giống như 1 + 1 viết 0 và nhớ 1.

Câu 22 / 28 Bộ cộng 4 bit tính 0111 + 0001. Bốn bit kết quả là gì?
Xem đáp án

Cột phải nhất 1 + 1 ra 0 nhớ 1. Số nhớ lan qua ba cột còn lại: 7 + 1 = 8 = 1000.

Câu 23 / 28 Trong lệnh 0011 1000 của TinyCPU, nửa 1000 là gì?
Xem đáp án

0011 là opcode STORE, 1000 là operand: ghi R0 vào ô nhớ 8.

Câu 24 / 28 TinyCPU chạy LOAD 9, SUB 4, ADD 2. R0 bằng bao nhiêu?
Xem đáp án

LOAD 9 đặt R0 = 9, SUB 4 cho 5, ADD 2 cho 7.

Câu 25 / 28 Sắp xếp những gì xảy ra trong một bước Fetch.
  1. PC đưa địa chỉ tới bộ nhớ
  2. PC tăng lên lệnh kế tiếp
  3. Lệnh được chép vào IR
  4. Bộ nhớ trả về lệnh
Xem đáp án

CPU dùng địa chỉ trong PC để đọc bộ nhớ, chép lệnh vào IR, rồi tăng PC để trỏ sẵn tới lệnh sau.

Câu 26 / 28 Dữ liệu X chỉ có trong RAM. CPU tìm ở những đâu trước khi lấy được X?
Xem đáp án

Cache miss ở L1, L2, L3 rồi mới tới RAM. Sau đó bản sao của X được đưa lên cache cho lần sau.

Câu 27 / 28 Không pipeline, 4 lệnh ba bước mất 12 chu kỳ. Có pipeline ba bước thì mất bao nhiêu chu kỳ?
Xem đáp án

Lệnh đầu xong sau 3 chu kỳ, mỗi lệnh sau xong thêm 1 chu kỳ: 3 + 3 = 6.

Câu 28 / 28 Một chương trình có một nửa công việc bắt buộc chạy tuần tự. Chạy trên CPU 8 nhân thì nhanh hơn chạy trên 1 nhân tối đa bao nhiêu?
Xem đáp án

Theo định luật Amdahl, tốc độ tăng tối đa là 1 / (0,5 + 0,5/8), khoảng 1,8 lần. Có bao nhiêu nhân đi nữa cũng không vượt quá 2 lần.

Nguồn tham khảo

  1. How to Select Little Logic (SCYA049A) · Texas Instruments
  2. 6.111 Lecture 1: Digital logic levels · MIT
  3. Lessons in Electric Circuits, Vol. IV, Ch. 5: Electromechanical Relays · Tony R. Kuphaldt, ibiblio.org
  4. Timeline of Computer History: 1944 (Harvard Mark I) · Computer History Museum
  5. Timeline of Computer History: 1941 (Zuse Z3) · Computer History Museum
  6. George Stibitz and the Bell Labs relay calculators · Computer History Museum
  7. Audion – 1906 · National High Magnetic Field Laboratory
  8. TRIOPAR Lab Experiment (triode operation) · University of Illinois Urbana-Champaign
  9. Re-creating the First Flip-Flop · IEEE Spectrum
  10. ENIAC · Computer History Museum
  11. ENIAC · Penn Engineering, University of Pennsylvania
  12. ENIAC, the General-Purpose Digital Computer, Is 80 · IEEE Spectrum
  13. The ENIAC Story (1961) · Martin H. Weik, US Army Ballistic Research Laboratory archive
  14. The Eckert Tapes: Computer Pioneer Says ENIAC Team Couldn't Afford to Fail · Computerworld
  15. 1947: Invention of the Point-Contact Transistor · Computer History Museum
  16. How Do Digital Computers "Think"? · Computer History Museum
  17. Semiconductors · Computer History Museum
  18. Early transistor applications · Computer History Museum
  19. The Regency TR-1 transistor radio · IEEE Spectrum
  20. The Nobel Prize in Physics 1956 · NobelPrize.org
  21. 1960: Metal Oxide Semiconductor (MOS) Transistor Demonstrated · Computer History Museum
  22. 1955: Photolithography Techniques Are Used to Make Silicon Devices · Computer History Museum
  23. 1959: Practical Monolithic Integrated Circuit Concept Patented · Computer History Museum
  24. The First Programmable Microprocessor: The 4004 · Intel
  25. The Intel 486 Processor · Intel
  26. Apple introduces M4 chip · Apple Newsroom
  27. Apple unleashes M1 · Apple Newsroom
  28. Gates & Logic (CS 3410) · Cornell University
  29. Professor Emeritus Claude Shannon dies at 84 · MIT News
  30. ENIAC's 50th Anniversary: A Short History of the Second American Revolution · Penn Almanac
  31. This Day in History: June 30 (First Draft of a Report on the EDVAC) · Computer History Museum
  32. Timeline of Computer History: 1948 (Manchester Baby) · Computer History Museum
  33. CPU Speed: What Is CPU Clock Speed? · Intel
  34. The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software · Herb Sutter, Dr. Dobb's Journal (2005)
  35. Storage Hierarchy, Caching, and Locality (COS 217) · Princeton University
  36. Pipelining & Performance (CS 3410) · Cornell University
  37. Performance analysis (CS 5220) · Cornell University