|台師大資工暑轉:詳解文章前言
此篇文章為:台師大資工轉學考 102 學年度「計算機概論」的解答、詳解。需要其他學年度的歷屆題、計算機概論和微積分的解答詳解,可點擊至主要文章!
-尊重智慧財產權
此篇詳解為本人所撰寫,禁止:轉貼、修改、和商業使用!歡迎分享網址連結!
-互相交流討論
因為此篇詳解為本人獨自撰寫,如有錯誤的地方,或是對於解答有其他意見,都歡迎在下方的留言區一起討論!一起撰寫出正確完整的詳解!
|國立臺灣師範大學 102 學年度學士班二年級轉學生招生考試:資工歷屆題「計算機概論」詳解
-題組一
- Number systems, data storage, and data operations:
(1)Convert the binary number (1010101.101)₂ to the decimal and hexadecimal.
解答:
- decimal:85.625
- hexadecimal:55.A
詳解:
以下列出 (1010101.101)₂ 每一位置的權重。
1 | 0 | 1 | 0 | 1 | 0 | 1 | . | 1 | 0 | 1 |
64 | 32 | 16 | 8 | 4 | 2 | 1 | . | 0.5 | 0.25 | 0.125 |
將 (1010101.101)₂ 換成十進位(decimal):64+16+4+1+0.5+0.125=85.625
將二進位轉成十六進位時,只要將每 4 位轉成十進位的 1 位數字就好了
101 | 0101 | . | 101 |
↓ | ↓ | ↓ | ↓ |
5 | 5 | . | A |
註:十六進位中大於十的部分會用大寫英文字母代替:
A | B | C | D | E | F |
---|---|---|---|---|---|
10 | 11 | 12 | 13 | 14 | 15 |
(2)Give the ranges of values that can be represented by 6-bit unsigned and two's complement format, respectively.
解答:
- unsigned:[ 0 , 63 ]
- two's complement:[ -32 , 31 ]
詳解:
- unsigned format:[ 0 , 63 ]
- two's complement format:[ -32 , 31 ]
unsigned:無正負號。代表全 bit 都只用來表示正數。6-bits 最大值:111111;最小值:000000。換成十進位數就是,Max:63;min:0。
二的補數表示法(two's complement format)能表示的數字總數:負數&零+整數,各佔一半,2⁶ ÷ 2=32,所以負數能表示到 -32,但正數只能表示到 32 − 1=31,減 1 是減掉零這個數字。Max:31、min:-32。
(3)Convert 7-bit two's complement number 1010101 to decimal.
解答:-43。
詳解:
在 two's complement number 二的補數表示法中,只要第一個數字是「1」,就代表這是一個負數,而求值的話,就必須轉成二的補數才能計算:
註:轉換二的補數的快速方法或技巧:從右邊往左,遇到第一個「1」前都照抄,包含第一個「1」,而後的數字 0 換成 1,1 換成 0。
原數 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
---|---|---|---|---|---|---|---|
補數 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
計算二的補數得值:1+2+8+32=43,所以 (1010101)₂ 轉成十進位為 -43。
(4)Find the minimum number of required bits to store positive integers less than 10000.
解答:14 bits。
詳解:(註:因為題目沒特別說是用哪種數字表示法,所以以下我將每一種表示法所需的 bit 數都列了出來。)
- Unsigned Representation:unsigned:無正負號。代表全 bit 都只用來表示正數。13 bits 最大可表示 2¹³ − 1=8191;14 bits 最大可表示 2¹⁴ − 1=16383。所以此表示法最少需要 14 bits。
- Sign-and-Magnitude Representation:最左邊第一個 bit 用來表示正負號,右邊剩餘的 bit 才用來表示數值。14 bits 最大可表示 2¹³ − 1=8191;15 bits 最大可表示 2¹⁴ − 1=16383。所以此表示法最少需要 15 bits。
- Two's Complement Representation:二的補數表示法能表示的數字總數:負數&零+整數,各佔一半。14 bits 最大可表示 2¹⁴ ÷ 2 − 1=8191;15 bits 最大可表示 2¹⁵ ÷ 2 − 1=16383。所以此表示法最少需要 15 bits。
註:而這種數字表示法中「Unsigned Representation」所需的 bit 數最少,所以答案認為是 14 bits。
(5)For x=0 or 1,(a)x ___ 0 → x, (b)x ___ 1 → x, (c)x ___ 1 → NOT x. Fill the blanks by correct logical operations respectively.
解答:(a)OR(b)AND(c)NOR
詳解:
- OR:與 0 做運算時,會保持原狀態。
- AND:與 1 做運算時,會保持原狀態。
- NOR:與 1 做運算時,會改變原狀態。
(6)Simplify the boolean expression(x'・y')+(x'・y)+(x・y)to an equivalent expression with only two logical operations.(Symbols ', ・, and + mean NOT, AND, OR, respectively.)
解答:x'+y。
詳解:
(x'・y')+(x'・y)+(x・y)(後兩項可由公式簡化:ab+ab'=a)
=(x'・y')+y(可由公式簡化:a+ab'=a+b)
= x'+y
-題組二
- Computer organization:
(1)A simplified machine cycle consists of three phases:___, ___, and execute.
解答:fetch、decode。
詳解:CPU 執行程序:
- Fetch:將 Instruction 存在 Instruction Register(IR)中,將地址存在 Program Counter(PC)中
- Decode:將 Instruction Register(IR)中的 Instruction 解碼
- Execute:執行 decode 後的 Instruction,將所需的 data 存到 Register 中,並靠 ALU 做計算。
(2)In the central processing unit(CPU), a special register stores the address of the instruction to be executed. What is its name?
解答:Program Counter。
詳解:一開始 instruction 與 data 都儲存在 Memory 中。
CPU 包含三個部分:
- ALU
- Register
- Control unit:Program Counter(PC)、Instruction Register(IR)
CPU 執行程序:
- Fetch:將 Instruction 存在 Instruction Register(IR)中,將地址存在 Program Counter(PC)中
- Decode:將 Instruction Register(IR)中的 Instruction 解碼
- Execute:執行 decode 後的 Instruction,將所需的 data 存到 Register 中,並靠 ALU 做計算。
(3)Explain the difference between programmed I/O, interrupt-driven I/O, and direct memory access(DMA)methods.
解答&詳解:
- Programmed I/O:CPU 在執行程式碼時,遇到需要從 I/O 輸入資料時,會通知 I/O,並等到 I/O 完成輸入時,才會再繼續執行下面的程式碼。
- Interrupt-driven I/O:CPU 在執行程式碼時,遇到需要從 I/O 輸入資料時,會通知 I/O,並繼續執行其他程式碼,等到 I/O 完成輸入時,會再通知 CPU。
- Interrupt-driven I/O:CPU 在執行程式碼時,遇到需要從 I/O 輸入資料時,會通知 I/O,並繼續執行其他程式碼,等到 I/O 完成輸入時,會再通知 CPU。
(4)The CPU and memory are normally connected by three groups of connections, each called a bus. Give the names of these buses.
解答&詳解:Data bus/Address bus/Control bus。
(5)We have 10 different instructions and 32 registers. If we have an instruction in the following format, what is the minimum number of bits for an instruction?(註:以下將「Register address」簡寫為「RA」。)
Opcode | RA | RA | RA |
解答:19 bits。
詳解:
Opcode 指的是指令 instruction,所以需要至少 4 bits,因為 2³=8 ≤ 10 ≤ 16=2⁴。
Register address 則需要 5 bits,因為 2⁵=32。
所以題目的 instruction 總共需要 4+5 × 3=19 bits。
-題組三
- Computer networks:
(1)Please give the names of the five layers in the TCP/IP protocol suite, from top(closest to the software)to bottom(closest to the hardware).
解答:
- Application
- Transport
- Network
- Data Link
- Physical
詳解:TCP/IP 分為五層
- Application:client-server、peer-to-peer(P2P)、WWW、HTTP、URL、FTP、Email、TELNET、Secure Shell(SSH)、Domain Name System(DNS)、STMP
- Transport:port number、User Datagram Protocol(UDP)、Transmission Control Protocol(TCP)
- Network:Packetizing、Routing、IP、IPv4、IPv6
- Data link:Local area networks(LANs)、Ethernet、WiFi、WANs、MAC
- Physical:Analog&Digital
(2)The IP address of a computer is necessary for communication, but more is required. A computer may be running several processes at the same time, and we need another address for process identification. This address is called ___.
解答&詳解:port number。
(3)Match the protocols and their functions. Candidate protocols are(A)HTTP, (B)FTP,(C)SMTP, and(D)TELNET. Write down the answers in the format like "ABCD".
___ is a protocol for transferring emails.
___ is a protocol for remote login.
___ is a protocol for transferring files between computers.
___ is a protocol for accessing data on WWW.
解答&詳解:CDBA。
(4)Explain the difference between UDP and TCP protocols.
解答&詳解:
User Datagram Protocol(UDP) | Transmission Control Protocol(TCP) |
---|---|
connectionless | connection-oriented |
不可靠的傳輸層協定 | 可靠的傳輸層協定 |
8 bytes Header | 20 to 60 bytes Header |
use checksums | |
use sequence numbers | |
use acknowledgment numbers |
(5)Draw four common physical network topologies and give their names respectively.
解答&詳解:
- Bus Topology:各節點連接到一個公用的網絡上
- Star Topology:各節點連接到一個網絡集中設備
- Ring Topology:每個節點連接左右兩個節點,將各節點串成一個環狀
- Mesh Topology:網狀網絡拓墣
-題組四
- Operating systems:
(1)Explain the difference between partitioning and paging.
解答:
- Partitioning:Memory 切割成大小不一的分段,每個分段儲存一個完整的程式。
- Paging:Memory 和 Program 切割成相同大小的分段,相同程式的分段可不連續的存於 Memory 中。
詳解:Multiprogramming 同時有大於一個程式在 Memory 中,可分成以下四種:
- Nonswapping:Partitioning、Paging
- Swapping:Demand paging、Demand segmentation
- Partitioning:Memory 切割成大小不一的分段,每個分段儲存一個完整的程式。
- Paging:改善 Partitioning 方法。Memory 和 Program 切割成相同大小的分段,相同程式的分段可不連續的存於 Memory 中,但還是必須整個程式都在 Memory 中。
- Demand paging:改善 Paging 方法。Memory 和 Program 切割成相同大小的分段,但不須整個程式都在 memory 中。
- Demand segmentation:將 Demand paging 中「切割成相同大小分段」的方法,改成符合程式設計的分段,所以每個 Segmentation 的大小不一。
(2)Explain the difference between paging and demand paging.
解答:
- Paging:必須整個程式都在 Memory 中。
- Demand paging:改善 Paging 方法。不須整個程式都在 memory 中。
詳解:Multiprogramming 同時有大於一個程式在 Memory 中,可分成以下四種:
- Nonswapping:Partitioning、Paging
- Swapping:Demand paging、Demand segmentation
- Partitioning:Memory 切割成大小不一的分段,每個分段儲存一個完整的程式。
- Paging:改善 Partitioning 方法。Memory 和 Program 切割成相同大小的分段,相同程式的分段可不連續的存於 Memory 中,但還是必須整個程式都在 Memory 中。
- Demand paging:改善 Paging 方法。Memory 和 Program 切割成相同大小的分段,但不須整個程式都在 memory 中。
- Demand segmentation:將 Demand paging 中「切割成相同大小分段」的方法,改成符合程式設計的分段,所以每個 Segmentation 的大小不一。
(3)Modern operating systems use three terms that refer to a set of instructions:program, job, and process. Explain their meanings.
解答:
- program:在 Disk 中沒被 CPU 所呼叫。
- job:仍在 Disk 中,但被 CPU 呼叫了。
- process:已經進入 Memory 中,正在被 CPU 所執行。
詳解:
- Program:存在硬碟中沒被呼叫。
- Job:當 Program 被呼叫,但還沒載入到 memory 時,稱為 Job。(可能是 memory 還沒空位)有兩種狀態:Hold、Terminated。
- Process:Job 載入 memory 後就稱為 process。有三種狀態:Ready、Running、Waiting。
(4)Give the four necessary conditions for deadlock and explain them briefly.
解答&詳解:四個讓 deadlock 發生的必要條件:
- Mutual exclusion:只有一個 process 可以抓住資源。
- Resource holding:一個 process 能抓住所需的某些資源,即便其他所需的資源有別的 process 在使用。
- No preemption:作業系統不能暫時重新分配資源。
- Circular waiting:每個 process 抓住的資源同時是其他 process 所需的資源,造成迴圈的現象。
-題組五
- Data structures, algorithms, and programming:
(1)Given a sequence of numbers {5, 7, 1, 3, 2, 6, 4}, illustrate how the selection sort algorithm sorts these numbers in increasing order step by step.
解答&詳解:
{ 5, 7, 1, 3, 2, 6, 4 }⟹{ 1, 5, 7, 3, 2, 6, 4 }⟹{ 1, 2, 5, 7, 3, 6, 4 }⟹{ 1, 2, 3, 5, 7, 6, 4 }⟹{ 1, 2, 3, 4, 5, 7, 6 }⟹{ 1, 2, 3, 4, 5, 7, 6 }⟹{ 1, 2, 3, 4, 5, 6, 7 }
(2)After sorting the above number sequence, illustrate how the binary search algorithm searches for the number 8 step by step.
解答&詳解:(註:綠色數字為正在檢查的數字)
{ 1, 2, 3, 4, 5, 6, 7 }⟹{ 1, 2, 3, 4, 5, 6, 7 }⟹{ 1, 2, 3, 4, 5, 6, 7 }⟹ 8 不在裡面!
(3)Compare arrays and link lists. How will you choose between them?
解答&詳解:array 中的地址為連續地址,而 link lists 則不需要地址連續,但每筆資料都需要儲存下一筆資料的地址。如果一資料需要經常的刪除和插入,那用 link lists 會比較適合!
- Mutual exclusion:只有一個 process 可以抓住資源。
- Resource holding:一個 process 能抓住所需的某些資源,即便其他所需的資源有別的 process 在使用。
- No preemption:作業系統不能暫時重新分配資源。
- Circular waiting:每個 process 抓住的資源同時是其他 process 所需的資源,造成迴圈的現象。
(4)The following is a C program. Explain the difference between arr and a.
void f(int a[5]){ }
int main(void)
{
int arr[5];
f(arr);
return 0;
}
解答&詳解:arr 並無指定說資料儲存的是 int 或是 char 或別的...。但 a 指定了說資料必須只能儲存 int。
|台師大資工暑轉詳解相關文章:
- 台師大各年度資工「轉學考歷屆&詳解」計概、微積分解答!
- 台師大 106 資工暑轉:計概詳解!
- 台師大 105 資工暑轉:計概詳解!
- 台師大 104 資工暑轉:計概詳解!
- 台師大 103 資工暑轉:計概詳解!
- 台師大 102 資工暑轉:計概詳解!