λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Computer Science/Computer Structure

8 Clock, Core and Thread (클럭, μ½”μ–΄, μŠ€λ ˆλ“œ)

by Dowon Kang 2023. 12. 26.

 

 

μ»΄ν“¨ν„°μ˜ 핡심 λΆ€ν’ˆ 쀑 ν•˜λ‚˜μΈ CPUλŠ” λ‹€μ–‘ν•œ 기술적인 μΈ‘λ©΄μ—μ„œ κ·Έ μ„±λŠ₯을 κ²°μ •μ§“μŠ΅λ‹ˆλ‹€.

 

이번 κΈ€μ—μ„œλŠ” CPU의 μ£Όμš” μš”μ†ŒμΈ 클럭과 μ½”μ–΄ 그리고 μŠ€λ ˆλ“œμ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

 

 

1. ν΄λŸ­ (Clock)

컴퓨터 λͺ¨λ“  λΆ€ν’ˆμ„ μΌμ‚¬λΆˆλž€ν•˜κ²Œ 움직일 수 있게 ν•˜λŠ” μ‹œκ°„ λ‹¨μœ„μž…λ‹ˆλ‹€. 

클럭 μ†λ„λŠ” ν—€λ₯΄μΈ (Hz) λ‹¨μœ„λ‘œ μΈ‘μ •ν•˜λ©° 1HzλŠ” 1μ΄ˆμ— 클럭이 ν•œ 번 반볡될 λ•Œμ˜ μΈ‘μ • λ‹¨μœ„μž…λ‹ˆλ‹€. 즉, 클럭이 1μ΄ˆμ— 100번 λ°˜λ³΅ν•˜λ©΄ 100Hzκ°€ λ©λ‹ˆλ‹€.

 

μš”μ¦˜ λ‚˜μ˜€λŠ” μ»΄ν“¨ν„°λŠ” μƒλ‹Ήνžˆ λΉ λ₯΄κΈ° λ•Œλ¬Έμ— μΈ‘μ • λ‹¨μœ„λ‘œ κΈ°κ°€ ν—€λ₯΄μΈ  GHzκ°€ 주둜 μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

클럭 속도가 λ†’μ„μˆ˜λ‘ CPUλŠ” λΉ λ₯΄κ²Œ μž‘λ™ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μž‘μ—…μ„ 더 λΉ λ₯΄κ²Œ μ²˜λ¦¬ν•  수 있게 λ˜μ–΄ μ „λ°˜μ μΈ μ‹œμŠ€ν…œ μ„±λŠ₯에 영ν–₯을 λ―ΈμΉ©λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ·Έλ ‡λ‹€κ³  클럭 속도λ₯Ό λ†’μ΄κΈ°λ§Œ ν•œλ‹€λ©΄ CPUλŠ” λ°œμ—΄μ΄ μ‹¬κ°ν•΄μ§‘λ‹ˆλ‹€. κ·Έλž˜μ„œ μ»΄ν“¨ν„°μ˜ 속도λ₯Ό ν–₯μƒΉμ‹œν‚€κΈ° μœ„ν•œλ‹€λ©΄ 코어와 μŠ€λ ˆλ“œμ˜ 수λ₯Ό λŠ˜λ¦¬λŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€. 

 


2. μ½”μ–΄ (Core)

μ½”μ–΄λŠ” CPU의 λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰μ‹œν‚€λŠ” 독립적인 μ—°μ‚° μž₯치λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. ν˜„λŒ€μ˜ CPUλŠ” ν•˜λ‚˜ μ΄μƒμ˜ μ½”μ–΄λ₯Ό 가지고 있으며, 각 μ½”μ–΄λŠ” λ…λ¦½μ μœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€. μ΄λŠ” μ—¬λŸ¬ μž‘μ—…μ„ λ™μ‹œμ— μ²˜λ¦¬ν•  수 있게 ν•΄μ£ΌλŠ”λ°, 이λ₯Ό 톡해 μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ™Όμͺ½μ΄ μ‹±κΈ€μ½”μ–΄ 였λ₯Έμͺ½μ€ λ“€μ–Όμ½”μ–΄

μ½”μ–΄κ°€ ν•˜λ‚˜ λ“€μ–΄κ°„ μ»΄ν“¨ν„°μ˜ ν”„λ‘œμ„Έμ„œ λͺ…칭을 싱글코어라 λΆ€λ¦…λ‹ˆλ‹€. 그리고 2κ°œλŠ” λ“€μ–Όμ½”μ–΄ 3κ°œλŠ” νŠΈλ¦¬ν”Œ μ½”μ–΄... μ΄λŸ°μ‹μœΌλ‘œ μ½”μ–΄κ°€ 2개 이상인 컴퓨터λ₯Ό λ©€ν‹°μ½”μ–΄ CPU라 ν•©λ‹ˆλ‹€. λ©€ν‹°μ½”μ–΄λŠ” ν•˜λ‚˜μ˜ CPU μΉ© μ•ˆμ— μ—¬λŸ¬ κ°œμ˜ λ¬Όλ¦¬μ μΈ μ½”μ–΄κ°€ μžˆλŠ” κ²ƒμ„ μ˜λ―Έν•©λ‹ˆλ‹€. 

 

κ·Έλ ‡λ‹€λ©΄ μ½”μ–΄μˆ˜κ°€ λ§Žμ•„μ§ˆμˆ˜λ‘ μ»΄ν“¨ν„°μ˜ μ„±λŠ₯이 μ’‹μ•„μ§ˆκΉŒμš”? κΌ­ κ·Έλ ‡μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. λ§Œμ•½ 쀑ꡭ집에 μš”λ¦¬μ‚¬κ°€ 10λͺ…이 μžˆλŠ”λ° 짜μž₯λ©΄ ν•œ 그릇이 μ£Όλ¬Έλ˜μ—ˆλ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€. κ·Έλ ‡λ‹€λ©΄ 9λͺ…μ˜ μš”λ¦¬μ‚¬λŠ” 놀고 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 이런 κ²½μš°μ—λŠ” 컴퓨터에 λ§Žμ€ μ½”μ–΄μˆ˜κ°€ μžˆλŠ” 것이 쒋지 μ•ŠκΈ°λ„ ν•œ 것이죠. 

 

λ©€ν‹°μ½”μ–΄λŠ” μ—¬λŸ¬ μž‘업을 λ™μ‹œμ— μ²˜λ¦¬ν•˜μ—¬ μ „체적인 μ„±λŠ₯을 λ†’일 μˆ˜ μžˆλŠ” μ€‘μš”ν•œ κΈ°μˆ μž…λ‹ˆλ‹€. μ΄λŠ” νŠΉνžˆ λ³‘λ ¬ μž‘업이 μ€‘μš”ν•œ μ‘μš©ν”„λ‘œκ·Έλž¨μ—μ„œ μœ μš©ν•©λ‹ˆλ‹€.

 

 

 

3. μŠ€λ ˆλ“œ (Thread)

 

μŠ€λ ˆλ“œλŠ” ν•˜λ“œμ›¨μ–΄μ  μŠ€λ ˆλ“œμ™€ μ†Œν”„νŠΈμ›¨μ–΄μ  μŠ€λ ˆλ“œλ‘œ λ‚˜λ‰©λ‹ˆλ‹€. 

 

ν•˜λ“œμ›¨μ–΄ μŠ€λ ˆλ“œ (Hardware Thread)
ν•˜λ“œμ›¨μ–΄ μŠ€λ ˆλ“œλŠ” ν•˜λ‚˜μ˜ μ½”μ–΄μ—μ„œ λ™μ‹œμ— μ—¬λŸ¬ κ°œμ˜ μŠ€λ ˆλ“œλ₯Ό μ²˜λ¦¬ν•  μˆ˜ μžˆλŠ” κΈ°μˆ μž…λ‹ˆλ‹€. μ¦‰, μ½”μ–΄λŠ” μ—¬λŸ¬ μž‘업을 λ™μ‹œμ— μ²˜λ¦¬ν•˜λ©΄μ„œ μ „ν™˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μž‘μ—…μ˜ λŒ€κΈ° μ‹œκ°„을 μ΅œμ†Œν™”ν•˜κ³  μ „체적인 μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” λ° λ„움이 λ©λ‹ˆλ‹€.

 

이런 ν”„λ‘œμ„Έμ„œλ₯Ό λ©€ν‹° μŠ€λ ˆλ“œ ν”„λ‘œμ„Έμ„œ ν˜Ήμ€ λ©€ν‹°μŠ€λ ˆλ“œ CPU라 λΆ€λ¦…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 8μ½”μ–΄ 16μŠ€λ ˆλ“œλΌκ³  ν•˜λ©΄ 1코어에 2개의 μŠ€λ ˆλ“œλ₯Ό 가지고 μžˆλŠ” μ…ˆμ΄μ£ .

λ©€ν‹° μŠ€λ ˆλ“œ ν”„λ‘œμ„Έμ„œλ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•œ 핡심 λΆ€ν’ˆμ€ CPUμ•ˆ 의 λ ˆμ§€μŠ€ν„°μž…λ‹ˆλ‹€. ν•˜λ‚˜μ˜ μ½”μ–΄ 내에 μ—¬λŸ¬ 개의 λ ˆμ§€μŠ€ν„° 묢음이 λ™μ‹œμ— μ—¬λŸ¬ λͺ…령어듀을 μ²˜λ¦¬ν•©λ‹ˆλ‹€. 

 

ν•˜λ“œμ›¨μ–΄ μŠ€λ ˆλ“œλŠ” 논리 ν”„λ‘œμ„Έμ„œλΌκ³ λ„ λΆ€λ¦…λ‹ˆλ‹€. ν•˜λ“œμ›¨μ–΄ μŠ€λ ˆλ“œκ°€ 논리 ν”„λ‘œμ„Έμ„œλ‘œ λΆˆλ¦¬λŠ” μ΄μœ λŠ” 주둜 물리적인 ν”„λ‘œμ„Έμ„œ μ½”μ–΄κ°€ μ•„λ‹Œ, 논리적인 μ‹€ν–‰ 흐름을 λ‚˜νƒ€λ‚΄κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ μš©μ–΄λŠ” ν•˜μ΄νΌμŠ€λ ˆλ”©(Hyper-Threading)이라고도 λΆˆλ¦¬λŠ” 기술과 관련이 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ΄νΌμŠ€λ ˆλ”©μ€ 인텔(Intel)μ—μ„œ κ°œλ°œν•œ 기술둜, 각 물리적인 μ½”μ–΄κ°€ μ—¬λŸ¬ 개의 논리적인 μ½”μ–΄λ‘œ μΈμ‹λ˜λ„λ‘ ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€. 이둜써 각 물리적인 μ½”μ–΄λŠ” λ™μ‹œμ— μ—¬λŸ¬ μž‘μ—…μ„ μ²˜λ¦¬ν•  수 있게 λ˜λŠ”λ°, 이 μž‘μ—…λ“€μ€ 논리적인 μŠ€λ ˆλ“œλ‘œ ν‘œν˜„λ©λ‹ˆλ‹€. 논리적인 μŠ€λ ˆλ“œλŠ” μ‹€μ œλ‘œ 물리적인 μ½”μ–΄λ³΄λ‹€λŠ” 가상적인 κ°œλ…μ΄μ§€λ§Œ, ν•˜λ“œμ›¨μ–΄μ—μ„œλŠ” 이λ₯Ό μ‹€μ œλ‘œ λ‹€λ£° 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ κ°€μƒν™”λŠ” 각각의 물리적인 μ½”μ–΄κ°€ μ—¬λŸ¬ μž‘μ—…μ„ λ™μ‹œμ— μ²˜λ¦¬ν•  수 있게 ν•˜μ—¬ μ„±λŠ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.

 

 

μ†Œν”„νŠΈμ›¨μ–΄ μŠ€λ ˆλ“œ (Software Thread)

ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ—μ„œ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰λ˜λŠ” λ‹¨μœ„ 

μ†Œν”„νŠΈμ›¨μ–΄ μŠ€λ ˆλ“œλŠ” ν”„λ‘œκ·Έλž¨ λ‚΄μ—μ„œ λ³‘λ ¬λ‘œ μ‹€ν–‰λ˜λŠ” μž‘은 μž‘μ—… λ‹¨μœ„λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ—¬λŸ¬ μ†Œν”„νŠΈμ›¨μ–΄ μŠ€λ ˆλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μ—¬λŸ¬ μž‘업을 λ™μ‹œμ— μ²˜λ¦¬ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ†Œν”„νŠΈμ›¨μ–΄ μŠ€λ ˆλ“œλŠ” ν•˜λ‚˜μ˜ λ¬Όλ¦¬μ μΈ μ½”μ–΄μ—μ„œ λ²ˆκ°ˆμ•„ κ°€λ©° μ‹€ν–‰λ˜λ―€λ‘œ ν•˜λ“œμ›¨μ–΄ μŠ€λ ˆλ“œλ³΄λ‹€λŠ” μ„±λŠ₯ ν–₯상이 λ―Έλ―Έν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

 

μ΄λŸ¬ν•œ λ‹€μ–‘ν•œ κΈ°μˆ λ“€μ€ ν˜„λŒ€μ˜ μ»΄ν“¨νŒ… ν™˜κ²½μ—μ„œ λ‹€μ–‘ν•œ μ‘μš©ν”„λ‘œκ·Έλž¨μ„ μ§€μ›ν•˜κ³  μ„±λŠ₯을 κ·ΉλŒ€ν™”ν•˜λŠ” λ° μ€‘μš”ν•œ μ—­ν• μ„ ν•©λ‹ˆλ‹€. CPU의 ν΄λŸ­, μ½”μ–΄, λ©€ν‹°μ½”μ–΄, ν•˜λ“œμ›¨μ–΄ μŠ€λ ˆλ“œ, μ†Œν”„νŠΈμ›¨μ–΄ μŠ€λ ˆλ“œλŠ” ν•¨κ»˜ μ‘°ν™”λ‘­κ²Œ μž‘λ™ν•˜μ—¬ μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” μ»΄ν“¨ν„°μ™€ λ””λ°”μ΄μŠ€μ˜ μ„±λŠ₯을 κ²°μ •μ§“μŠ΅λ‹ˆλ‹€.

 

 


Clock: The clock in a CPU, measured in Hertz (Hz), represents the speed at which the processor executes instructions, with a higher clock speed generally indicating faster performance.

Core: A CPU core is an independent processing unit within the central processing unit, capable of executing its own set of instructions concurrently with other cores, contributing to parallel processing and improved multitasking.

Thread: A thread in a CPU refers to a sequence of instructions that can be scheduled for execution, and a CPU with multiple threads per core can handle multiple tasks simultaneously, enhancing overall processing efficiency.

 

 

λŒ“κΈ€