You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/Computer Organisation/Instruction Set Architecture (ISA)/Instruction Set Architecture (ISA).md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ tags:
7
7
- computer_organisation
8
8
- bash
9
9
Creation Date: 2023-10-04T17:30:24+08:00
10
-
Last Date: 2024-05-29T17:08:53+08:00
10
+
Last Date: 2024-05-31T16:54:55+08:00
11
11
References:
12
12
---
13
13
## Abstract
@@ -22,7 +22,7 @@ References:
22
22
>[!important]
23
23
> There are two types of ISA, [[#RISC]] and [[#CISC]]. Both don't decide the performance of [[CPU]]. [[CPU Cache]] and [[Branch Prediction]] are two main factors that determine the CPU performance.
24
24
>
25
-
> "**What limit's computer performance is predictability**" - [Jim Keller](https://www.youtube.com/watch?v=yTMRGERZrQE)
25
+
> "**What limits computer performance is predictability**" - [Jim Keller](https://www.youtube.com/watch?v=yTMRGERZrQE)
26
26
27
27
## RISC
28
28
---
@@ -39,7 +39,7 @@ References:
39
39
40
40
41
41
>[!attention] Tedious
42
-
> More complicated tasks require programmers to use more instructions to achieve. However, with modern [[Language Processors#Compiler]], programmers code in high-level languages like C, this isn't an issue anymore.
42
+
> More complicated tasks require programmers to use more instructions to achieve. However, with modern [[Language Processors#Compiler]], programmers code in high-level languages like C, this **isn't an issue anymore**.
43
43
44
44
>[!success] Power-Efficient
45
45
> Needs fewer [[Transistors (晶体管)]] to perform simple task.
@@ -69,17 +69,16 @@ References:
69
69
![[isa.svg|500]]
70
70
71
71
- Stands for **Complex Instruction Set Computer**
72
-
-[[Instruction]] in CSIC is like **pieces built with unique lego pieces** that can be used to get [[CPU]] to carry out **multiple operation** to **complete a particular task**. Unlike [[#CISC]] which only provides **unique lego pieces** that can be used to get CPU to carry out one operation. Thus, RISC has fewer possible Instruction
72
+
-[[Instruction]] in CSIC is like **pieces built with unique lego pieces** that can be used to get [[CPU]] to carry out **multiple operation**in **one single instruction**to **complete a particular task**. Unlike [[#RISC]] which only provides **unique lego pieces** that can be used to get CPU to carry out one operation at a time. Thus, RISC has fewer possible Instruction
73
73
74
74
>[!success] Takes less resources to build applications
75
75
> First, the programmers can code faster with **complex instructions**, because each instruction is able to do **multiple things**, you can think of it as a small function. Second, since one instruction is able to do multiple things, **less instructions are needed**, thus less usage on the [[Main Memory]].
76
76
>
77
77
> **However**, thanks to [[Language Processors#Compiler]], programmers seldom code in complex instructions anymore. And with modern [[Main Memory]], the space saved with CISC isn't significant anymore.
78
78
79
79
80
-
81
80
>[!attention] More complex decoder
82
-
> [[Instruction#Variable-length Instruction]]. For [x86](https://en.wikipedia.org/wiki/X86_instruction_listings), the length of instructions range from **1-15 bytes**. So the decoder needs extra logic to determine if it is processing a new instruction.
81
+
> [[Instruction#Variable-length Instruction]]. For [x86](https://en.wikipedia.org/wiki/X86_instruction_listings), the length of instructions range from **1-15 bytes**. So the decoder needs extra logic to determine if it is processing a new instruction. However, we can make use of [micro-op](https://miro.medium.com/v2/1*titoeiXLVZ-jBgaktnxJ2w.png) to handle this.
83
82
84
83
>[!attention] Requires more transistors
85
84
> The **design** of [[CPU]] needs to be **complex** to achieve complex computation with fewer Instruction, so less [[Transistors (晶体管)]] can be used improve overall computing performance. Thus, more **power-hungry**, and **more wasted power** when **performing simple instruction**.
@@ -138,3 +137,4 @@ References:
138
137
---
139
138
-[Instruction Set Architectures](https://youtu.be/1KTW32xSs_k)
140
139
-[ARM vs x86: 冷飯重炒的假議題 | RISC vs CISC分析 - YouTube](https://www.youtube.com/watch?v=iibDpt5f3T4)
140
+
-[What the Heck is a Micro-Operation? | by Erik Engheim | Medium](https://erik-engheim.medium.com/what-the-heck-is-a-micro-operation-e991f76209e)
Copy file name to clipboardExpand all lines: content/Computer Organisation/Processor/CPU.md
+8-13Lines changed: 8 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Author Profile:
6
6
tags:
7
7
- computer_organisation
8
8
Creation Date: 2023-11-19T16:36:00
9
-
Last Date: 2024-05-30T20:12:55+08:00
9
+
Last Date: 2024-05-31T16:03:37+08:00
10
10
References:
11
11
---
12
12
## Abstract
@@ -21,22 +21,23 @@ References:
21
21
>[!tip] Understand the Intel/AMD CPU naming
22
22
> This [video](https://youtu.be/EVMLQV9tH6A?si=lqBgxcYwvPYD5BUx) explains the naming mechanism of Intel/AMD CPU pretty well.
23
23
24
-
## CPU Core
25
-
---
24
+
### CPU Core
26
25
- One single unit of [[CPU]] that executes [[Instruction]] independently from other **CPU cores**
27
26
28
-
## 32-bit CPU
29
-
---
27
+
### 32-bit CPU
30
28
-[[Register#Register Width]] that are **32**[[Computer Data Representation#Bit]] each
31
29
- Because 32bits, so maximum addressable [[Main Memory]] is 4GB. The [[Register]] can't hold a [[Memory Address]] that is greater than 4GB
32
30
- The [[Computer Data Representation#Word]] size is usually **4**[[Computer Data Representation#Byte]]
33
31
34
-
## 64-bit CPU
35
-
---
32
+
### 64-bit CPU
36
33
-[[Register#Register Width]] that are **64**[[Computer Data Representation#Bit]] each
37
34
- Doesn't have the [[Main Memory]] 4GB limitation in [[#32-bit CPU]]
38
35
- The [[Computer Data Representation#Word]] size is usually **8**[[Computer Data Representation#Byte]]
39
36
37
+
### CPU Scratch Area
38
+
- A small amount of high-speed memory that is used to store temporary data in the [[CPU]]. [[Register]] and [[CPU Cache]] are considered as CPU Scratch Area
39
+
40
+
40
41
## Hyperthreading
41
42
---
42
43
@@ -55,12 +56,6 @@ References:
55
56
56
57
57
58
58
-
## CPU Scratch Area
59
-
---
60
-
- A small amount of high-speed memory that is used to store temporary data
61
-
62
-
63
-
64
59
## References
65
60
---
66
61
-[What is Hyperthreading? - YouTube](https://www.youtube.com/watch?v=mSZpDF-zUoI)
0 commit comments