Chủ đề của Introduction to Computer Science - CSI106

CSI106 - Phần 1: Nền tảng máy tính và mô hình von Neumann

Máy tính không phải cỗ máy biết nghĩ mà là cỗ máy thi hành: nó chỉ làm đúng những gì đã được mô tả thành chuỗi lệnh. Điều khiến nó linh hoạt nằm ở một ý tưởng tưởng chừng đơn giản — lệnh và dữ liệu cùng nằm trong một bộ nhớ, nên đổi chương trình không cần đổi dây nối. Phần này đi vào ý tưởng đó cùng cách chia máy tính thành những phân hệ phối hợp với nhau, và nhìn lại các cỗ máy đầu tiên để thấy vì sao thiết kế ngày nay lại thành hình như vậy. Học xong, người học đọc được sơ đồ của một hệ máy tính bất kỳ, biết bộ phận nào chịu trách nhiệm gì, và hiểu vì sao cùng một phần cứng lại chạy được vô số phần mềm khác nhau.

Xem danh sách câu hỏi16 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

16Câu hỏi hiện có

Câu hỏi của chủ đề

16/16 câuHết danh sách
ATo define the hardware architecture.
BTo manage memory allocation.
CTo provide a set of instructions that dictates what to do with data
DTo establish communication protocols between devices
Lời giải
Đáp án đúng: "To provide a set of instructions that dictates what to do with data". Trong mô hình Turing, máy tính vạn năng nhận cả dữ liệu lẫn chương trình làm đầu vào, trong đó chương trình là tập lệnh nói cho máy biết phải làm gì với dữ liệu để sinh ra kết quả; chính việc đổi chương trình mà không phải đổi máy làm nên tính vạn năng. Vai trò "To define the hardware architecture." không thuộc chương trình, vì kiến trúc phần cứng do người thiết kế máy quyết định và đã cố định trước khi chương trình chạy. Vai trò "To manage memory allocation." là việc của hệ điều hành, bản thân nó cũng chỉ là một chương trình trong số nhiều chương trình. Vai trò "To establish communication protocols between devices" là việc của các giao thức truyền thông, không phải định nghĩa của chương trình.
Mở trang câu hỏi này →
AComputer
BProgram
CAlgorithm
DData
Lời giải
Đáp án đúng: "Data". Một chương trình là tập lệnh mô tả những việc cần làm trên dữ liệu đầu vào để tạo ra dữ liệu đầu ra, nên đối tượng mà các lệnh tác động lên chính là dữ liệu; đây cũng là bộ ba đầu vào, chương trình và đầu ra của mô hình máy tính vạn năng. Từ "Computer" không hợp vì máy tính là cỗ máy thi hành chương trình, nó là bên thực thi chứ không phải thứ bị xử lý. Từ "Program" không hợp vì chính chương trình là tập lệnh đang được nói tới, nó không thể đồng thời là đối tượng mà các lệnh của nó tác động lên. Từ "Algorithm" chỉ cách giải một bài toán theo từng bước, còn chương trình là bản hiện thực của thuật toán bằng một ngôn ngữ cụ thể.
Mở trang câu hỏi này →
AArithmetic logic unit (ALU)
BInput/Output (I/O)
CControl unit (CU)
DPower supply unit (PSU)
Lời giải
Đáp án đúng: "Power supply unit (PSU)". Mô hình von Neumann chia máy tính thành bốn hệ con: bộ nhớ, đơn vị số học và logic, đơn vị điều khiển, cùng khối vào ra. Bộ nguồn chỉ chuyển đổi và cấp điện, nó không lưu, không xử lý, không chuyển dữ liệu, nên không nằm trong mô hình xử lý này. Mục "Arithmetic logic unit (ALU)" là nơi thực hiện các phép tính số học và phép logic trên dữ liệu. Mục "Input/Output (I/O)" là hệ con nhận dữ liệu từ ngoài, xuất kết quả và nối với bộ nhớ phụ. Mục "Control unit (CU)" là hệ con giải mã lệnh rồi phát tín hiệu điều khiển cho ba hệ con còn lại phối hợp với nhau. Cả ba đều thuộc mô hình nên không thể là lựa chọn bị loại.
Mở trang câu hỏi này →
AMemory
BArithmetic Logic Unit (ALU)
CControl Unit
DInput/Output
Lời giải
Đáp án đúng: "Memory". Điểm cốt lõi của kiến trúc von Neumann là chương trình được lưu trữ: cả lệnh và dữ liệu cùng nằm trong bộ nhớ chính dưới dạng nhị phân, bộ xử lý lần lượt lấy lệnh từ đó ra mà chạy. Mục "Arithmetic Logic Unit (ALU)" chỉ tính toán trên các toán hạng được đưa tới và trả kết quả, nó không giữ chương trình. Mục "Control Unit" chỉ giải mã lệnh và phát tín hiệu điều khiển, cũng không phải nơi lưu. Mục "Input/Output" là cửa giao tiếp với bên ngoài và với bộ nhớ phụ; dữ liệu có thể nằm trên ổ đĩa, nhưng muốn xử lý thì phải nạp vào bộ nhớ chính trước. Vài thanh ghi trong bộ xử lý cũng giữ dữ liệu, nhưng chỉ tạm thời cho lệnh đang chạy.
Mở trang câu hỏi này →
A3
B4
C5
D6
Lời giải
Đáp án đúng: "4". Mô hình von Neumann chia phần cứng máy tính thành bốn hệ con: bộ nhớ, đơn vị số học và logic, đơn vị điều khiển, cùng hệ vào ra; chương trình và dữ liệu đều nằm trong bộ nhớ, còn đơn vị điều khiển lần lượt nạp rồi thi hành từng lệnh. "3" thiếu một hệ con, thường do gộp hệ vào ra vào bộ nhớ hoặc gộp hai đơn vị bên trong bộ xử lý thành một. "5" đếm dư, chẳng hạn tách đường truyền dữ liệu hay nhóm thanh ghi ra thành hệ con riêng, nhưng đó là bộ phận nằm bên trong các hệ con đã kể. "6" càng dư hơn nữa và không khớp với cách phân chia của mô hình này.
Mở trang câu hỏi này →
ALeibnitz
Bvon Neumann
CPascal
DCharles Babbage
Lời giải
Đáp án đúng: "von Neumann". Máy tính hiện đại dựa trên mô hình von Neumann với hai ý cốt lõi: phần cứng chia thành bốn hệ con, và chương trình được lưu trong bộ nhớ cùng chỗ với dữ liệu để đơn vị điều khiển nạp từng lệnh ra thi hành. "Leibnitz" gắn với máy tính cơ khí làm được bốn phép tính, nhưng hoàn toàn không có khái niệm chương trình lưu trong bộ nhớ. "Pascal" chế ra máy cộng trừ bằng bánh răng, mỗi phép tính phải quay tay chứ không lập trình được. "Charles Babbage" đã hình dung ra máy phân tích với bộ phận tính và bộ phận lưu, một tiền thân rất quan trọng, song cách tổ chức mà máy tính ngày nay thực sự đi theo là mô hình chương trình lưu trong bộ nhớ được công bố sau đó.
Mở trang câu hỏi này →
ATransistors
BMicroprocessors
CIntegrated circuits
DHard disks
Lời giải
Đáp án đúng: "Transistors". Thế hệ thứ hai thay đèn điện tử chân không bằng transistor bán dẫn: linh kiện nhỏ hơn nhiều, toả nhiệt ít, tiêu thụ điện thấp và bền hơn, nhờ đó máy gọn lại và chạy ổn định hơn hẳn. "Microprocessors" thuộc thế hệ thứ tư, khi cả bộ xử lý được dồn vào một chip duy nhất. "Integrated circuits" là dấu mốc của thế hệ thứ ba, gom nhiều transistor cùng mạch nối lên một phiến bán dẫn. "Hard disks" là thiết bị lưu trữ ngoài chứ không phải linh kiện dựng nên mạch logic của máy, nên không được dùng để đánh dấu thế hệ máy tính.
Mở trang câu hỏi này →
AIt uses a single-purpose processing unit.
BIt stores data and programs in the same memory.
CIt relies solely on mechanical components.
DIt requires a new wiring system for each program.
Lời giải
Đáp án đúng: "It stores data and programs in the same memory.". Điểm cách mạng của mô hình von Neumann là nguyên lý chương trình lưu trữ: dãy lệnh và dữ liệu cùng nằm trong một bộ nhớ duy nhất, nên muốn máy giải bài toán khác thì chỉ cần nạp chương trình khác chứ không phải can thiệp vào phần cứng. Chính vì thế "It requires a new wiring system for each program." mô tả đúng các máy trước đó, nơi mỗi bài toán đòi hỏi cắm lại dây và đặt lại công tắc; đó là điều mô hình von Neumann loại bỏ chứ không phải đặc trưng của nó. "It uses a single-purpose processing unit." sai vì von Neumann mô tả một bộ xử lý đa dụng, chạy được mọi chương trình nạp vào bộ nhớ, chứ không phải một khối chỉ làm được một việc. "It relies solely on mechanical components." sai vì đây là mô hình logic về cách tổ chức máy tính điện tử, không ràng buộc máy phải dựa vào bánh răng hay cơ cấu cơ khí như các máy quay tay thế hệ trước.
Mở trang câu hỏi này →
APascal
BPascaline
CABC
DEDVAC
Lời giải
Đáp án đúng: "EDVAC". EDVAC là máy tính đầu tiên được thiết kế theo nguyên lý chương trình lưu trữ mà von Neumann trình bày trong bản thảo năm 1945, tức lệnh và dữ liệu cùng nằm trong bộ nhớ. "Pascal" không phải máy tính mà là tên một ngôn ngữ lập trình, đặt theo tên nhà toán học Blaise Pascal. "Pascaline" là máy tính cơ khí cộng trừ do Pascal chế tạo ở thế kỷ mười bảy, nó không có bộ nhớ chương trình và chỉ làm được phép tính cố định. "ABC" là máy tính điện tử của Atanasoff cùng Berry, dùng để giải hệ phương trình, nhưng chương trình nằm trong cách đấu nối phần cứng nên nó không thuộc mô hình chương trình lưu trữ.
Mở trang câu hỏi này →
AHard drive, monitor, keyboard, mouse
BMemory, ALU, control unit, I/O subsystem
CCompiler, operating system, application software, data
DProcessor, network card, graphics card, power supply
Lời giải
Đáp án đúng: "Memory, ALU, control unit, I/O subsystem". Mô hình von Neumann định nghĩa bốn khối chức năng: bộ nhớ lưu lệnh và dữ liệu, đơn vị số học và logic thực hiện phép tính, đơn vị điều khiển điều phối hoạt động, và phân hệ vào ra trao đổi dữ liệu với bên ngoài. "Hard drive, monitor, keyboard, mouse" chỉ là các thiết bị cụ thể của một máy thương mại; ổ cứng thuộc lưu trữ, còn màn hình, bàn phím và chuột đều nằm trong phân hệ vào ra. "Compiler, operating system, application software, data" liệt kê các thành phần phần mềm, trong khi mô hình này nói về tổ chức phần cứng của máy tính. "Processor, network card, graphics card, power supply" trộn linh kiện bán lẻ với bộ nguồn; nguồn điện chỉ cấp năng lượng, không tham gia xử lý hay lưu trữ thông tin nên không thể là một khối chức năng của mô hình.
Mở trang câu hỏi này →
AENIAC
BUNIVAC
CIBM PC
DApple I
Lời giải
Đáp án đúng: "ENIAC". ENIAC hoàn thành năm 1946 là máy tính điện tử đa dụng đầu tiên, dùng đèn điện tử thay cho cơ cấu cơ khí và lập trình được cho nhiều loại bài toán khác nhau, dù việc lập trình phải làm bằng cách cắm lại dây và đặt công tắc. "UNIVAC" ra sau, năm 1951, và điểm đáng nhớ của nó là máy tính thương mại đầu tiên được bán cho khách hàng chứ không phải máy điện tử đa dụng đầu tiên. "IBM PC" là máy vi tính cá nhân do hãng IBM đưa ra năm 1981, cách ENIAC ba mươi lăm năm. "Apple I" là máy vi tính do Steve Wozniak làm năm 1976, cũng thuộc thời kỳ vi xử lý nên không thể là máy đầu tiên.
Mở trang câu hỏi này →
AControlling the execution of a program
BPerforming arithmetic and logic operations
CManaging input and output operations
DStoring data and programs
Lời giải
Đáp án đúng: "Performing arithmetic and logic operations". Khối số học và luận lý là nơi thực sự tính toán trên dữ liệu: nó làm các phép cộng, trừ, so sánh và các phép luận lý theo bit như và, hoặc, phủ định, rồi trả kết quả về thanh ghi. Phương án "Controlling the execution of a program" là việc của khối điều khiển, bộ phận lấy lệnh, giải mã và ra tín hiệu cho khối số học làm việc, nên hai vai trò này tách rời nhau trong mô hình von Neumann. Phương án "Managing input and output operations" thuộc phân hệ vào ra cùng các bộ điều khiển thiết bị. Phương án "Storing data and programs" là chức năng của bộ nhớ, nơi lệnh và dữ liệu cùng nằm chung theo đúng ý tưởng chương trình lưu trong bộ nhớ; khối số học chỉ giữ dữ liệu tạm thời trong thanh ghi khi đang tính.
Mở trang câu hỏi này →
AThe processor and the memory
BThe input data and the program
CThe hardware and the software
DThe control unit and the I/O
Lời giải
Đáp án đúng: "The input data and the program". Mô hình Turing nhìn máy tính như một hộp nhận hai thứ làm đầu vào rồi sinh ra đầu ra: dữ liệu cần xử lý, và chương trình quy định phải xử lý thế nào. Giữ nguyên dữ liệu mà đổi chương trình thì ra kết quả khác, giữ nguyên chương trình mà đổi dữ liệu cũng ra kết quả khác, nên đầu ra phụ thuộc đúng vào cặp này. Phương án "The processor and the memory" kể tên các bộ phận thực hiện công việc; chúng là nơi chương trình chạy chứ không phải hai yếu tố quyết định nội dung đầu ra. Phương án "The hardware and the software" nói quá chung, gộp cả dữ liệu vào cùng một chỗ nên làm mất chính sự phân biệt mà mô hình muốn nhấn mạnh. Phương án "The control unit and the I/O" là chi tiết kiến trúc bên trong máy thật, không thuộc mức mô tả của mô hình Turing.
Mở trang câu hỏi này →
AA machine capable of performing multiple tasks simultaneously
BA machine processing data with external programming
CA universal computational device using a program and data
DA machine limited to performing simple arithmetic operations
Lời giải
Đáp án đúng: "A universal computational device using a program and data". Điểm mới của mô hình Turing là cả chương trình lẫn dữ liệu đều là đầu vào, nên cùng một cỗ máy có thể làm bất kỳ việc nào chỉ bằng cách nạp chương trình tương ứng; đó chính là ý nghĩa của từ vạn năng. Phương án "A machine processing data with external programming" mô tả máy chuyên dụng, nơi chức năng gắn cứng bên ngoài vào mạch và chỉ dữ liệu được đưa vào; đây là mô hình có trước Turing, và chính việc bỏ cách đó đi mới làm nên bước nhảy. Phương án "A machine capable of performing multiple tasks simultaneously" nói về chạy nhiều việc cùng lúc, một chuyện thuộc tổ chức phần cứng và hệ điều hành mà mô hình Turing không đề cập. Phương án "A machine limited to performing simple arithmetic operations" ngược hẳn tinh thần của mô hình, vì giá trị cốt lõi của nó nằm ở tính vạn năng chứ không phải ở một nhóm phép tính hẹp.
Mở trang câu hỏi này →
AA model that includes hardware, software, and data
BA mathematical model of computation that defines what can be computed
CA hardware-centric architecture for data processing
DA model emphasizing the interaction between users and computers
Lời giải
Đáp án đúng: "A mathematical model of computation that defines what can be computed". Turing không mô tả một cỗ máy cụ thể mà đưa ra một mô hình trừu tượng của quá trình tính toán, nhờ đó xác định được đâu là bài toán có thể giải bằng giải thuật và đâu là bài toán không thể, bất kể máy móc sau này nhanh tới đâu. Phương án "A model that includes hardware, software, and data" liệt kê các thành phần của một máy tính thực, đó là cách nhìn vào cấu tạo thiết bị chứ không phải một mô hình tính toán. Phương án "A hardware-centric architecture for data processing" đặt trọng tâm vào phần cứng, trong khi mô hình Turing cố ý không phụ thuộc vào cách hiện thực vật lý. Phương án "A model emphasizing the interaction between users and computers" thuộc lĩnh vực tương tác người và máy, hoàn toàn khác mục tiêu lý thuyết tính toán.
Mở trang câu hỏi này →
APrograms and data in the same memory
BPrograms in memory, data in punch cards
CPrograms in punch cards, data in memory
DPrograms and data in separate memory units
Lời giải
Đáp án đúng: "Programs and data in the same memory". Ý tưởng chương trình được lưu trữ của Von Neumann là đặt cả lệnh và dữ liệu trong cùng một bộ nhớ, truy cập qua cùng một đường; nhờ vậy máy có thể nạp chương trình khác mà không cần đổi dây nối, và chương trình cũng có thể được xử lý như dữ liệu, điều làm nền cho trình biên dịch và hệ điều hành. Phương án "Programs in memory, data in punch cards" và phương án "Programs in punch cards, data in memory" đều níu lại cách làm của thời trước, khi bìa đục lỗ vừa là vật mang chương trình vừa là vật mang dữ liệu đưa vào máy; kiến trúc Von Neumann bỏ hẳn kiểu phân chia này. Phương án "Programs and data in separate memory units" mô tả kiến trúc Harvard với hai bộ nhớ và hai đường truy cập riêng, cách tổ chức thường gặp ở vi điều khiển và bộ xử lý tín hiệu chứ không phải máy tính Von Neumann.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

7 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.