본문 바로가기
Alchitecture

프로세서와 메모리 그리고 성능

by 보라코끼리 2021. 12. 29.
728x90

- 본 문서는 KOCW 에 공개된 컴퓨터구조 - 영남대학교 최규상 교수님의 2015년도 2학기 강의를 보고 정리한 내용입니다.

컴퓨터 내부

  • 많은 컴퓨터가 비슷한 내부 구조를 가지고 있다
    • ex) 데스크탑, 서버, 임베디드
  • 입출력 
    • User-interface 장치
      • 디스플레이, 키보드, 마우스
    • 저장장치
      • 하드디스크, cd/dvd, 플래시 메모리, ssd
    • 네트워크 어댑터
      • 다른 컴퓨터와의 통신

 

터치스크린

  • PostPC 장치
  • 키보드와 마우스를 대체하는 입력 장치

 

화면

  • LCD screen
    • frame buffer memory에 영상에 관련된 메모리를 쓰면 내용이 화면에 출력된다.

 

프로세스(CPU) 내부 

  • 데이터 경로 (Datapath)
    • 데이터의 연산이 실행되는 경로
  • 제어 (Control)
    • 데이터 경로 순서 (sequences datapath), 메모리 (memory)
    • 프로세스 내부의 다양한 컴포넌트들을 컨트롤
  • 캐시메모리 (Cache memory)
    • 아주 작고 빠른 SRAM으로 구성된 메모리에 자주 사용하는 데이터들을 올려두어 빠르게 access 할 수 있도록 한다.

 

추상화 (Abstraction)

  • 복잡한 문제를 단순화시켜 다루기 쉽게 해준다
  • Instruction set architecture (ISA, 하드웨어/소프트웨어 인터페이스) 
    • 소프트웨어는 instruction으로 구성되어 있고, 하드웨어는 instruction을 실행한다.
    • 하드웨어와 소프트웨어는 instruction 을 통해서 데이터를 주고받는다.
  • Application binary interface
    • ISA 와 소프트웨어 인터페이스의 결합
  • 구현 (implementation)
    • instruction set architecture 를 실제로 어떻게 구현할것인가

 

메모리

  • 휘발성 메인 메모리
    • 전원이 꺼지면 명령과 data가 사라짐
  • 비휘발성 보조 메모리
    • magnetic disk (ex. HDD)
    • Flash memory
    • Optical disk (CDROM, DVD)

 

네트워크

  • 통신 (communication), 자원 공유 (resource sharing), nonlocal access
  • Local area network (LAN) : 이더넷 (Ethernet)
  • Wide area network (WAN) : 인터넷 (Internet)
  • Wireless network : WiFi, Bluetooth

 

프로세서 메모리 기술 트렌드

  • 시간의 흐름에 따라 DRAM 용량이 log scale 로 급격하게 증가
  • 예전보다 아주 싼 가격에 DRAM을 사용할 수 있게 되었다.
Year Technology Relative performance/cost
1951 Vacuum tube (진공관) 1
1965 Transistor (트랜지스터) 35
1975 Integrated circuit (IC, 직접회로) 900
1995 Very large scale IC (VLSI) 2,400,000
2013 Ultra large scale IC 250,000,000,000

 

반도체 기술

  • 실리콘 (Silicon) : 반도체
  • 특징의 변화를 위한 추가 물질
    • 전도체 (conductors)
    • 절연장치 (insulators)
    • 스위치 (switch)

 

반응 시간과 처리량

  • 반응 시간 (response time)
    • 일을 하는데 걸리는 시간
  • 처리량 (throughput)
    • 단위 시간당 수행된 총 작업 
  • ex 1) 기존에 있는 cpu보다 빠른 프로세스를 사용하려고 한다. 사용하던 컴퓨터에서 오래된 cpu를 떼고 훨씬 더 빠른 cpu로 교체할 경우 반응시간과 처리량에 영향이 있을까?
    • 더 빠른 cpu를 사용하게 되면 하나의 일을 하는데 걸리는 시간이 줄어든다. (반응 시간이 줄어든다) -> 단위 시간 당 할 수 있는 일이 많아진다. (처리량이 많아진다)
    • => 반응시간, 처리량 모두 영향을 받는다.
  • ex 2) cpu 를 추가하면 (코어 추가) 반응시간과 처리량에 영향이 있을까?
    • cpu를 추가하게 되면 하나의 일을 하나의 코어가 하는데 걸리는 시간에는 차이가 없다. (반응 시간에는 차이가 없다)
    • 서로 다른 코어가 각각 일을 진행할 수 있기 때문에 단위 시간 당 할 수 있는 일은 많아진다. (처리량이 많아진다)
  • 일반적으로 반응 시간이 줄어들면 처리량은 늘어난다. (반응 시간은 처리량에 영향을 준다.)
  • 하지만 처리량은 반응 시간에 영향을 줄 수도 있고 주지 않을 수도 있다.
  • 성능은 반응 시간으로 주로 표현이 가능하다

 

상대적인 성능

  • 성능(performance) = 1/실행 시간(execution time)
    • 실행시간이 빠를수록 더 좋은 성능을 보인다.
  • X는 Y보다 n배 빠르다
    • Performance X / Performance Y = Execution time Y / Execution time X = n​
       
  • ex) A 의 실행시간 : 10초, B 의 실행시간 : 15초
    • 실행 시간 B / 실행 시간 A = 15초 / 10초 = 1.5
    • => A 가 B 보다 1.5배 빠르다.

 

실행 시간 측정

  • 경과 시간 (Elapsed time)
    • 총 반응 시간, 모든 양상 포함
      • Processing, 입출력 (I/O), OS overhead, 휴식시간 (idle time)
    • 시스템 전체의 성능을 정의한다.
  • CPU time
    • 어떤 일을 처리할 때 cpu에서 걸리는 시간
      • I/O 시간, 다른 일을 공유하는데 걸리는 시간 제외
    • 사용자 CPU time 과 시스템 CPU time 으로 나눠진다.
    • 서로 다른 프로그램들은 CPU 와 시스템 성능에 영향을 받을 수 있다.
      • 어떤 프로그램은 CPU 에 영향을 많이 받고 어떤 프로그램은 I/O 에 영향을 많이 받을 수도 있다.

 

CPU Clocking

  • 고정 속도 클럭에 의해 제어되는 디지털 하드웨어의 작동
  • 클럭 주기 (Clock period) : 클럭 사이클의 지속 시간
    • ex) 250ps = 0.25ns = 250 * 10^-12s
  • 클럭 빈도 (Clock frequency), 클럭 비율 (Clock rate) : 초당 사이클
    • ex) 4.0GHz = 4000MHz = 4.0 * 10^9Hz 
  • 클럭 비율은 클럭 사이클 시간(클럭 주기)와 역의 관계이다
    • CC (Clock Cycle time) = 1 / CR (Clock Rate)
    • 10 nsec clock cycle =>  100 MHz clock rate
      5 nsec clock cycle => 200 MHz clock rate
      2 nsec clock cycle => 500 MHz clock rate
      1 nsec (10^-9) clock cycle => 1 GHz (10^9) clock rate
      500 psec clock cycle => 2 GHz clock rate
      250 psec clock cycle => 4 GHz clock rate
      200 psec clock cycle => 5 GHz clock rate

 

728x90