CEA201Chưa đoKỳ 1Cơ sở ngành Cập nhật 1 ngày trước
CEA201 - Tổ chức và Kiến trúc máy tính
50Câu hỏi
1Bộ đề
17Chủ đề
Câu hỏi của môn
44/50 câuCòn 6
25What is the cache memory level that is integrated into the processor chip and has the lowest latency?4 lựa chọn
AL1 cache
BL2 cache
CL3 cache
DL4 cache
Lời giải
Mở trang câu hỏi này →Đá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.
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
Mở trang câu hỏi này →Đá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.
AMachine language
BAssembly language
CHigh-level language
DAll of the mentioned
ENone of the mentioned
Lời giải
Mở trang câu hỏi này →Đá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.
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
Mở trang câu hỏi này →Đá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.
A32
B5
C16
D64
Lời giải
Mở trang câu hỏi này →Đá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.
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
Mở trang câu hỏi này →Đá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ả.
A1; 0; 0
B1; 0; 1
C0; 0; 1
D0; 1; 0
Lời giải
Mở trang câu hỏi này →Đá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.
AExecution sequencing.
BOperands used.
COperations performed.
DStatement types in a high-level programming language.
Lời giải
Mở trang câu hỏi này →Đá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.
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
Mở trang câu hỏi này →Đá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.
AInstruction-level parallelism
BOutput dependency
CMachine parallelism
DProcedural dependency
Lời giải
Mở trang câu hỏi này →Đá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.
Apolling
Binterrupt
Cdriver
Dcontrolling
Lời giải
Mở trang câu hỏi này →Đá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.
36What is an organizational issue related to?4 lựa chọn
AControl signals
BNumber of bits used to represent data types
CI/O mechanisms
DInstruction set
Lời giải
Mở trang câu hỏi này →Đá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.
37Which of the following determines the Bus Width?5 lựa chọn
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
Mở trang câu hỏi này →Đá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.
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
Mở trang câu hỏi này →Đá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.
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
Mở trang câu hỏi này →Đá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.
40Which register is the memory address register?4 lựa chọn
AMAR
BMBR
CIR
DPC
Lời giải
Mở trang câu hỏi này →Đá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.
41Which of the following statements is incorrect about Translation Look-aside Buffer (TLB)?4 lựa chọn
AThe use of TLB eliminates the need for keeping a page table in memory
BTLB only maintains a subset of the entries stored in the full memory-based page table
CWhen there is a TLB miss the system needs to access the page table
DA translation lookaside buffer (TLB) is a memory cache that stores the recent translations of virtual memory to physical memory
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The use of TLB eliminates the need for keeping a page table in memory". Câu hỏi tìm phát biểu sai: TLB chỉ là một cache nhỏ của bảng trang, nên bảng trang đầy đủ vẫn phải nằm trong bộ nhớ để tra khi TLB không có mục cần tìm. "TLB only maintains a subset of the entries stored in the full memory-based page table" là phát biểu đúng, không được chọn, vì dung lượng TLB rất nhỏ, chỉ giữ các mục vừa dùng. "When there is a TLB miss the system needs to access the page table" là phát biểu đúng vì khi trượt TLB phải đọc bảng trang trong bộ nhớ rồi nạp mục đó vào TLB. "A translation lookaside buffer (TLB) is a memory cache that stores the recent translations of virtual memory to physical memory" là phát biểu đúng vì đó chính là định nghĩa TLB.
A1
B2
C3
D4
E5
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "3". RAID 5 phân dải dữ liệu theo khối và rải khối chẵn lẻ (parity) luân phiên trên mọi đĩa; mỗi dải cần ít nhất hai khối dữ liệu cộng một khối parity, nên tối thiểu là 3 đĩa và chịu được hỏng một đĩa. "1" sai vì một đĩa không có chỗ nào để đặt parity tách khỏi dữ liệu, hỏng đĩa là mất hết. "2" sai vì với hai đĩa thì parity của một khối dữ liệu chính là bản sao của nó, thực chất thành mirroring kiểu RAID 1. "4" sai vì 4 đĩa chạy được RAID 5 nhưng không phải mức tối thiểu; 4 là số đĩa tối thiểu của RAID 6 hoặc RAID 10. "5" sai vì đó là số hiệu của mức RAID, dễ nhầm với số đĩa, chứ không phải số đĩa tối thiểu.
AOperand fetch
BData operation
COperand store
DOperand address calculation
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Operand address calculation". Trong sơ đồ trạng thái của chu kỳ lệnh, khi lệnh tham chiếu toán hạng nằm trong bộ nhớ hoặc lấy qua I/O thì trước hết phải xác định địa chỉ của toán hạng, đó là bước operand address calculation. "Operand fetch" sai vì bước này đến sau, dùng địa chỉ vừa tính để thực sự lấy toán hạng về. "Data operation" sai vì đây là bước thực hiện phép toán mà lệnh yêu cầu lên các toán hạng đã có sẵn. "Operand store" sai vì bước này ghi kết quả vào bộ nhớ hoặc thiết bị I/O ở cuối chu kỳ, và trước nó cũng cần một lượt tính địa chỉ riêng cho nơi lưu kết quả.
AXOR
BAND
COR
DNOT
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "AND". Cổng AND chỉ cho đầu ra 1 khi tất cả đầu vào đều bằng 1; chỉ cần một đầu vào bằng 0 là đầu ra thành 0, ví dụ với hai đầu vào thì 1·1 = 1 nhưng 1·0 = 0, giống phép nhân logic. "XOR" sai vì khi hai đầu vào cùng bằng 1 thì XOR ra 0; nó chỉ ra 1 khi số đầu vào bằng 1 là lẻ. "OR" sai vì OR ra 1 khi có ít nhất một đầu vào bằng 1, không đòi tất cả, nên đầu vào 1 và 0 vẫn cho 1. "NOT" sai vì đây là cổng một đầu vào chỉ đảo giá trị, ra 1 khi đầu vào là 0, trái ngược yêu cầu của đề.