Danh sách câu hỏi của đề

Câu hỏi: CEA201 Tổ chức và Kiến trúc máy tính – Đề thi cuối kỳ SU26

50 câu trắc nghiệm kèm lời giải của môn CEA201 - Tổ chức và Kiến trúc máy tính, xếp đúng thứ tự trong đề. Trang 2/3 — câu 21–40.

Danh sách câu hỏi

40/50 câuCòn 10
AIndexing is performed after the indirection
BIndexing is performed before the indirection
CBoth indexing and indirection are avoided
DIndexing and indirection occur simultaneously
Lời giải
Đáp án đúng: "Indexing is performed after the indirection". Ở chế độ hậu chỉ số (postindexing), trường địa chỉ A trước hết dùng để đọc một từ nhớ chứa địa chỉ trực tiếp, sau đó mới cộng nội dung thanh ghi chỉ số: EA = (A) + (R); kiểu này tiện để truy cập bảng có địa chỉ gốc nằm trong bộ nhớ. "Indexing is performed before the indirection" sai vì đó là tiền chỉ số (preindexing), EA = (A + (R)), cộng chỉ số trước rồi mới gián tiếp. "Both indexing and indirection are avoided" sai vì nếu bỏ cả hai thì chỉ còn địa chỉ trực tiếp, trái với định nghĩa chế độ kết hợp được hỏi. "Indexing and indirection occur simultaneously" sai vì hai bước có thứ tự bắt buộc: phải có kết quả đọc gián tiếp thì mới có giá trị để cộng thanh ghi chỉ số.
Mở trang câu hỏi này →
AAND
BOR
CNAND
DNOR
Lời giải
Đáp án đúng: "OR". Phép tuyển OR cho kết quả đúng khi ít nhất một toán hạng đúng, tức một trong hai hoặc cả hai; chỉ khi cả hai đều sai thì kết quả mới sai: 0 OR 0 = 0, còn 0 OR 1, 1 OR 0, 1 OR 1 đều bằng 1. "AND" sai vì phép hội chỉ đúng khi cả hai toán hạng cùng đúng; nếu chỉ một toán hạng đúng thì kết quả là sai. "NAND" sai vì đây là phủ định của AND, cho kết quả sai đúng lúc cả hai toán hạng đều đúng, trái với yêu cầu. "NOR" sai vì là phủ định của OR, chỉ đúng khi cả hai toán hạng đều sai và cho kết quả sai ngay khi có một toán hạng đúng.
Mở trang câu hỏi này →
Athe latter offers faster transfer of data
Bthe former does not have to wait until I/O operation is complete
Cthe devices have to deal with fewer address lines
Dno advantage as such
Lời giải
Đáp án đúng: "the former does not have to wait until I/O operation is complete". Ở I/O lập trình, CPU phải liên tục đọc trạng thái mô-đun I/O để chờ thiết bị sẵn sàng, phí rất nhiều chu kỳ; ở I/O điều khiển bằng ngắt, CPU phát lệnh rồi đi làm việc khác, mô-đun sẽ gửi ngắt khi xong, nên CPU không phải ngồi chờ. "the latter offers faster transfer of data" sai vì vế này nói về I/O lập trình và lại khẳng định một điều không phải ưu điểm của I/O ngắt; tốc độ truyền mỗi từ của cả hai cách đều phụ thuộc CPU. "the devices have to deal with fewer address lines" sai vì số đường địa chỉ do thiết kế bus và cách đánh địa chỉ I/O quyết định, không liên quan đến dùng ngắt hay hỏi vòng. "no advantage as such" sai vì giải phóng CPU khỏi vòng chờ là lợi ích rõ ràng của I/O ngắt.
Mở trang câu hỏi này →
ACISC
BVLIW
CSuperscalar
DRISC
Lời giải
Đáp án đúng: "RISC". Kiến trúc tập lệnh rút gọn dùng ít lệnh, lệnh đơn giản, độ dài cố định, chạy khoảng một chu kỳ, chỉ lệnh load/store truy cập bộ nhớ; bù lại nó có tệp thanh ghi lớn để giữ toán hạng gần ALU, giảm truy cập bộ nhớ. "CISC" sai vì kiến trúc tập lệnh phức tạp có nhiều lệnh dài ngắn khác nhau, nhiều chế độ địa chỉ và thường ít thanh ghi hơn. "VLIW" sai vì đặc trưng của nó là từ lệnh rất dài gói nhiều thao tác để trình biên dịch lập lịch song song, chứ không phải lệnh đơn giản đi cùng tệp thanh ghi lớn. "Superscalar" sai vì đó là kỹ thuật phần cứng phát nhiều lệnh mỗi chu kỳ qua nhiều đường ống, áp dụng được cho cả RISC lẫn CISC, không phải một kiểu kiến trúc tập lệnh.
Mở trang câu hỏi này →
AL1 cache
BL2 cache
CL3 cache
DL4 cache
Lời giải
Đáp án đúng: "L1 cache". Cache cấp 1 nằm ngay trong mỗi nhân xử lý, dung lượng nhỏ (vài chục KB, thường tách cache lệnh và cache dữ liệu) nên truy cập chỉ mất vài chu kỳ, nhanh nhất trong hệ thống cache. "L2 cache" sai vì tuy nay thường cũng nằm trên chip, nó lớn hơn và đứng sau L1 nên có độ trễ cao hơn. "L3 cache" sai vì đây là cache lớn dùng chung giữa các nhân, độ trễ cao hơn cả L2, có khi tới vài chục chu kỳ. "L4 cache" sai vì cấp này hiếm gặp, thường là bộ nhớ eDRAM nằm ngoài khuôn bộ xử lý hoặc trên đế riêng, độ trễ cao nhất trong các cấp cache.
Mở trang câu hỏi này →
ASeek time, rotational latency, and data transfer time.
BCache size and bus width only.
CNumber of platters and spindle speed only.
DFile system type and cluster size.
Lời giải
Đáp án đúng: "Seek time, rotational latency, and data transfer time.". Thời gian truy cập đĩa từ là tổng ba thành phần: seek time (dời đầu đọc tới đúng track), rotational latency (chờ sector cần đọc quay tới dưới đầu đọc) và transfer time (thời gian dữ liệu thực sự đi qua đầu đọc). "Cache size and bus width only." sai vì cache trên ổ và độ rộng bus chỉ ảnh hưởng gián tiếp tới thông lượng, không phải thành phần cấu thành thời gian truy cập, lại bỏ sót cả seek lẫn latency. "Number of platters and spindle speed only." sai vì số đĩa chỉ quyết định dung lượng, còn tốc độ quay chỉ là nguyên nhân sinh ra rotational latency chứ không thay được seek time và transfer time. "File system type and cluster size." sai vì đó là lựa chọn phần mềm của hệ điều hành về cách tổ chức tệp, không phải tham số phần cứng tạo nên thời gian truy cập một khối trên đĩa.
Mở trang câu hỏi này →
AMachine language
BAssembly language
CHigh-level language
DAll of the mentioned
ENone of the mentioned
Lời giải
Đáp án đúng: "Machine language". Máy tính thế hệ đầu (dùng đèn chân không, như ENIAC) được lập trình trực tiếp bằng mã nhị phân mà phần cứng hiểu ngay, tức machine language; có máy còn phải cắm dây, gạt công tắc để nạp chương trình. "Assembly language" sai vì hợp ngữ với mã gợi nhớ và trình hợp dịch chỉ trở nên phổ biến ở thế hệ thứ hai (transistor). "High-level language" sai vì các ngôn ngữ bậc cao như FORTRAN, COBOL ra đời muộn hơn, gắn với thế hệ thứ hai trở đi khi đã có trình biên dịch. "All of the mentioned" sai vì hợp ngữ và ngôn ngữ bậc cao chưa được dùng ở thế hệ đầu nên không thể đúng tất cả. "None of the mentioned" sai vì đã có một lựa chọn đúng là ngôn ngữ máy.
Mở trang câu hỏi này →
ASDRAM reduces latency by dynamically adjusting the refresh rate based on workload
BSDRAM synchronizes with the CPU clock, allowing pipelined memory accesses
CSDRAM has larger memory cells, enabling higher storage capacity per chip
DSDRAM eliminates the need for precharge cycles, reducing access time
Lời giải
Đáp án đúng: "SDRAM synchronizes with the CPU clock, allowing pipelined memory accesses". SDRAM trao đổi dữ liệu theo nhịp đồng hồ hệ thống nên bộ xử lý biết chính xác ở chu kỳ nào dữ liệu sẵn sàng và không phải ngồi chờ; nhờ vậy có thể đưa yêu cầu mới vào khi yêu cầu cũ chưa xong (pipelining) và dùng burst mode để truyền liên tiếp nhiều từ. "SDRAM reduces latency by dynamically adjusting the refresh rate based on workload" sai vì SDRAM vẫn làm tươi theo chu kỳ cố định, lợi thế không đến từ việc điều chỉnh refresh. "SDRAM has larger memory cells, enabling higher storage capacity per chip" sai vì ô nhớ to hơn chỉ làm giảm mật độ, và dung lượng cũng không phải là tốc độ truy cập. "SDRAM eliminates the need for precharge cycles, reducing access time" sai vì SDRAM vẫn phải precharge hàng cũ trước khi mở hàng mới như mọi loại DRAM.
Mở trang câu hỏi này →
A32
B5
C16
D64
Lời giải
Đáp án đúng: "32". Mỗi lệnh được CPU nhận diện bằng một mã nhị phân riêng; mã dài n bit có 2^n tổ hợp khác nhau, nên 5 bit cho 2^5 = 32 mã, từ 00000 đến 11111, tức tối đa 32 lệnh. "5" sai vì đó chỉ là số bit của mã lệnh, nhầm độ dài mã với số tổ hợp mà mã đó biểu diễn được. "16" sai vì 16 = 2^4 là số lệnh tối đa khi mã chỉ dài 4 bit, thiếu một bit so với đề. "64" sai vì 64 = 2^6 đòi hỏi mã dài 6 bit; với 5 bit thì sau mã 11111 (giá trị 31) không còn tổ hợp nào để gán cho lệnh thứ 33 trở đi.
Mở trang câu hỏi này →
AA waiting list of jobs which need to execute. They were accepted but they must wait to be loaded to the main memory.
BA list of current ready processes. They had been accepted, loaded into the main memory, and their states are READY.
CA list of IO waiting processes. They had been accepted, loaded into the I/O queue , and their states are BLOCK.
DA list of all current running programs. They had been accepted, loaded into the main memory.
Lời giải
Đáp án đúng: "A waiting list of jobs which need to execute. They were accepted but they must wait to be loaded to the main memory.". Trong hệ đa chương trình theo lô, long-term scheduler quyết định nhận công việc nào vào hệ thống; long-term queue chứa các công việc đã được chấp nhận nhưng còn nằm ngoài bộ nhớ chính, chờ được nạp vào để trở thành tiến trình. "A list of current ready processes. They had been accepted, loaded into the main memory, and their states are READY." sai vì đó là short-term queue, nơi tiến trình đã ở trong bộ nhớ và chờ CPU. "A list of IO waiting processes. They had been accepted, loaded into the I/O queue , and their states are BLOCK." sai vì đó là I/O queue của các tiến trình bị chặn chờ thiết bị. "A list of all current running programs. They had been accepted, loaded into the main memory." sai vì tiến trình đang chạy không nằm trong hàng đợi nào cả.
Mở trang câu hỏi này →
A1; 0; 0
B1; 0; 1
C0; 0; 1
D0; 1; 0
Lời giải
Đáp án đúng: "1; 0; 0". Theo hình, bốn ô dữ liệu bên trong là A∩B = 1, A∩C = 1, B∩C = 0 và ô giữa A∩B∩C = 1; bit chẵn lẻ của mỗi vòng phải làm tổng số bit 1 trong vòng đó thành số chẵn. Vòng A gồm A∩B, A∩C và ô giữa: 1 + 1 + 1 = 3, lẻ, nên bit chẵn lẻ của vòng A là 1 để tổng thành 4. Vòng B gồm A∩B, B∩C và ô giữa: 1 + 0 + 1 = 2, đã chẵn, nên bit của vòng B là 0. Vòng C gồm A∩C, B∩C và ô giữa: 1 + 0 + 1 = 2, nên bit của vòng C là 0. "1; 0; 1" sai vì đặt 1 cho vòng C làm vòng này có ba bit 1, thành lẻ. "0; 0; 1" sai vì vòng A khi đó còn ba bit 1 (lẻ), còn vòng C lại bị đẩy lên ba bit 1. "0; 1; 0" sai vì vòng A vẫn lẻ và vòng B có ba bit 1.
Mở trang câu hỏi này →
AExecution sequencing.
BOperands used.
COperations performed.
DStatement types in a high-level programming language.
Lời giải
Đáp án đúng: "Execution sequencing.". Khi phân tích hành vi chương trình để thiết kế CPU (hướng tiếp cận RISC), trình tự thực thi lệnh, đặc biệt tần suất rẽ nhánh và gọi thủ tục, là yếu tố quyết định cách tổ chức khối điều khiển và pipeline. "Operands used." sai vì loại và tần suất toán hạng quyết định cách tổ chức bộ nhớ lưu chúng và các addressing mode, không phải pipeline. "Operations performed." sai vì tập phép toán quyết định các chức năng CPU phải làm và cách nó tương tác với bộ nhớ. "Statement types in a high-level programming language." sai vì đây chỉ là dữ liệu đo đạc đầu vào (tỉ lệ lệnh gán, vòng lặp, gọi hàm) dùng để suy ra ba yếu tố thiết kế kia, bản thân nó không trực tiếp quy định tổ chức điều khiển.
Mở trang câu hỏi này →
AArchitecture refers to the operational units and their interconnections, while organization defines the logical execution of a program.
BArchitecture focuses on attributes visible to a programmer, while organization deals with hardware details transparent to the programmer.
CArchitecture encompasses control signals and memory technology, while organization defines the instruction set.
DArchitecture is only concerned with the implementation of multiply instructions.
Lời giải
Đáp án đúng: "Architecture focuses on attributes visible to a programmer, while organization deals with hardware details transparent to the programmer.". Kiến trúc gồm các thuộc tính tác động trực tiếp đến việc thực thi logic của chương trình như instruction set, số bit biểu diễn dữ liệu, cơ chế I/O, addressing mode; tổ chức là cách hiện thực các thuộc tính đó bằng phần cứng mà lập trình viên không thấy, như control signals, giao tiếp, công nghệ bộ nhớ. "Architecture refers to the operational units and their interconnections, while organization defines the logical execution of a program." sai vì đã đảo ngược hai khái niệm. "Architecture encompasses control signals and memory technology, while organization defines the instruction set." cũng đảo vai: control signals thuộc tổ chức, instruction set thuộc kiến trúc. "Architecture is only concerned with the implementation of multiply instructions." sai vì có lệnh nhân hay không mới là câu hỏi kiến trúc, còn hiện thực lệnh nhân ra sao là chuyện tổ chức.
Mở trang câu hỏi này →
AInstruction-level parallelism
BOutput dependency
CMachine parallelism
DProcedural dependency
Lời giải
Đáp án đúng: "Machine parallelism". Machine parallelism là năng lực song song của chính bộ xử lý: nó phụ thuộc vào số lệnh có thể nạp và thực thi cùng lúc (số pipeline song song) và vào mức tinh vi của cơ chế tìm ra các lệnh độc lập để phát cùng nhau. "Instruction-level parallelism" sai vì ILP đo mức độ các lệnh trong chương trình có thể chạy chồng lấp, tức phụ thuộc vào bản thân dãy lệnh và trình biên dịch chứ không phải phần cứng. "Output dependency" sai vì đó là xung đột ghi sau ghi (write-after-write), khi hai lệnh cùng ghi một thanh ghi, không phải thước đo năng lực. "Procedural dependency" sai vì đó là ràng buộc do lệnh rẽ nhánh: các lệnh sau nhánh chưa thể thực thi khi chưa biết hướng rẽ, là một giới hạn chứ không phải năng lực song song.
Mở trang câu hỏi này →
Apolling
Binterrupt
Cdriver
Dcontrolling
Lời giải
Đáp án đúng: "interrupt". Interrupt (ngắt) là tín hiệu phần cứng mà thiết bị gửi lên CPU qua đường yêu cầu ngắt để báo đã sẵn sàng hoặc đã xong việc; CPU tạm dừng chương trình hiện tại, chạy trình phục vụ ngắt rồi quay lại chỗ cũ. "polling" sai vì hỏi vòng là CPU chủ động đọc liên tục thanh ghi trạng thái của thiết bị, tức chiều ngược lại: thiết bị không tự thông báo gì. "driver" sai vì trình điều khiển là phần mềm của hệ điều hành dùng để điều khiển thiết bị, không phải cơ chế phần cứng để báo hiệu. "controlling" sai vì đây chỉ là một từ chung chung về việc điều khiển, không phải tên của cơ chế nào trong kiến trúc máy tính.
Mở trang câu hỏi này →
AControl signals
BNumber of bits used to represent data types
CI/O mechanisms
DInstruction set
Lời giải
Đáp án đúng: "Control signals". Vấn đề tổ chức là những chi tiết hiện thực phần cứng trong suốt với lập trình viên; control signals do khối điều khiển phát ra để điều phối các khối chức năng thuộc đúng nhóm này, lập trình viên không cần biết chúng vẫn viết được chương trình. "Number of bits used to represent data types" sai vì độ dài biểu diễn dữ liệu ảnh hưởng trực tiếp đến kết quả chương trình nên là thuộc tính kiến trúc. "I/O mechanisms" sai vì cách chương trình thực hiện vào ra (lệnh I/O riêng hay memory-mapped) lập trình viên phải nắm, nên cũng thuộc kiến trúc. "Instruction set" sai vì tập lệnh là thuộc tính kiến trúc tiêu biểu nhất, là ranh giới giữa phần mềm và phần cứng.
Mở trang câu hỏi này →
AThe clock speed of the CPU
BThe number of cores in the processor
CThe size of the motherboard
DThe number of parallel lines in the data bus
ENumber of components connected to Bus
Lời giải
Đáp án đúng: "The number of parallel lines in the data bus". Độ rộng bus dữ liệu chính là số đường dẫn song song của nó: mỗi đường mang một bit trong một lần truyền, nên bus 32 đường chuyển được 32 bit mỗi lần. "The clock speed of the CPU" sai vì xung nhịp quyết định số lần truyền mỗi giây, không quyết định số bit mỗi lần. "The number of cores in the processor" sai vì số lõi là đặc điểm bên trong bộ xử lý, không đổi số đường của bus. "The size of the motherboard" sai vì kích thước vật lý của bo mạch không quy định số đường tín hiệu. "Number of components connected to Bus" sai vì số thiết bị gắn vào bus ảnh hưởng tới tải điện và độ trễ lan truyền, không làm bus rộng hay hẹp đi.
Mở trang câu hỏi này →
AThe ALU performs an arithmetic operation.
BThe branch target virtual address is calculated, and branch conditions are checked.
CThe data virtual address is calculated for memory access.
DThe instruction result is written back to the register file.
Lời giải
Đáp án đúng: "The branch target virtual address is calculated, and branch conditions are checked.". Ở giai đoạn execute, lệnh rẽ nhánh không tạo kết quả số học để ghi lại; việc của nó là tính địa chỉ đích (thường là PC cộng độ dời) và đánh giá điều kiện rẽ để quyết định lệnh kế tiếp được nạp từ đâu. "The ALU performs an arithmetic operation." sai vì đó là việc của lệnh tính toán thông thường, còn với nhánh mục đích là định hướng luồng lệnh. "The data virtual address is calculated for memory access." sai vì tính địa chỉ dữ liệu là việc của lệnh load/store, lệnh nhánh không đọc ghi bộ nhớ dữ liệu. "The instruction result is written back to the register file." sai vì ghi lại thanh ghi thuộc giai đoạn write-back sau execute, và lệnh nhánh thường không có kết quả để ghi.
Mở trang câu hỏi này →
AReplace a block in the set that has been in the cache longest.
BReplace a block in the set that has experienced the fewest references.
CReplace a block in the set that has been in the cache longest with no reference to it.
DReplace a block randomly
Lời giải
Đáp án đúng: "Replace a block in the set that has been in the cache longest with no reference to it.". LRU (least recently used) chọn khối có lần được tham chiếu gần nhất đã xa nhất, tức khối nằm lâu nhất mà không được dùng tới; với cache two-way chỉ cần một bit USE cho mỗi khối là hiện thực được. "Replace a block in the set that has been in the cache longest." sai vì đó là FIFO, chỉ xét thời điểm khối được nạp mà bỏ qua việc khối có vừa được dùng hay không. "Replace a block in the set that has experienced the fewest references." sai vì đó là LFU (least frequently used), dựa trên số lần tham chiếu chứ không dựa trên thời điểm tham chiếu. "Replace a block randomly" sai vì chọn ngẫu nhiên là thuật toán random, không dùng chút thông tin lịch sử truy cập nào.
Mở trang câu hỏi này →
AMAR
BMBR
CIR
DPC
Lời giải
Đáp án đúng: "MAR". MAR (memory address register) giữ địa chỉ của ô nhớ sắp được đọc hoặc ghi và đặt địa chỉ đó lên address bus. "MBR" sai vì memory buffer register chứa dữ liệu vừa đọc từ bộ nhớ hoặc dữ liệu sắp ghi vào, tức nội dung chứ không phải địa chỉ. "IR" sai vì instruction register chứa lệnh vừa được nạp để giải mã và thực thi. "PC" sai vì program counter chứa địa chỉ của lệnh kế tiếp; giá trị này được chép sang MAR ở đầu chu kỳ nạp lệnh, nhưng bản thân PC không phải thanh ghi nối với address bus để truy cập mọi ô nhớ, kể cả dữ liệu.
Mở trang câu hỏi này →