728x90

 

I/O와 CPU 클럭의 관계

- CPU 클럭이 높으면 높은 성능을 보여주고 그에 따라 I/O도 일반적으로 빠름

- 하지만 I/O는 CPU 클럭 보다는 Bus 클럭에 의존적임

- 시스템 클럭이 I/O에 미치는 영향

- 클럭이 다른 두 시스템이 목적지에 I/O를 해주는 상황

    -> 100 클럭 시스템은 1초에 100번의 연산을 하고 200클럭 시스템은 2배인 200번의 연산을 함

    -> I/O(File이나 Network 등)를 하면  버퍼링을 하게 됨(버퍼를 통해 모아서 데이터를 보냄)

    -> 데이터를 버퍼에 모아서 보내게 되면 훨씬 빠른 시간에 많은 데이터를 보낼 수 있음

    -> 100클럭 시스템은 버퍼가 1초에 10번 비워지고 200클럭 시스템은 20번 비워짐

    -> 데이터를 만들어내는 속도가 같다고 할 때 100클럭 시스템과 200클럭 시스템의 버퍼에 쌓이는 데이터의 양이 다르게 됨

    -> 100클럭 시스템은 보다 많은 데이터를 묶어 보낼 수 있기 때문에 시스템과 목적지 간에 통신 프로토콜(보내고 검증받고) cycle을 적게 사용하지만 200클럭 시스템은 더 많은 cycle을 사용함

    -> Network I/O의 경우 CPU 보다 훨씬 느리기때문에 CPU 클럭이 높다해도 두 시스템이 데이터를 주고받는 속도는 줄일 수 없기 때문에 클럭이 높더라도 클럭 수가 낮은 시스템이 더 속도가 높을 수 있음

- 이렇기 때문에 I/O 연산은 CPU 클럭이 차지하는 영향은 미비할 수 있음

- 버퍼를 비우는 정책은 중요

 

728x90

+ Recent posts