컴퓨터 구조 - 2

컴퓨터 구조 2강

2강은 전체적으로 컴퓨터 성능에 관한 내용이 많이 나온다. 어떻게 해야 성능이 좋아지는지에 대해 알아볼 것이다.


Relative Performance

\[P = {1 \over \text{Execution Time}}\]

기본적으로 컴퓨터의 성능(Performance)는 실행시간에 반비례 한다.


\(Px/Py = \text{Execution Time y / Execution Time x}\) X가 Y보다 N배 더 빠를 때 X,Y 성능을 비교하는 식이다.


\(\text{CPU Time} = \text{CPU Clock Cycles}*\text{Clock Period} = {\text{CPU Clock Cycles}\over\text{Clock Rate}}\)

-CPU time 자세한 설명 : 출처 Wikipedia


Q1) user space가 무엇인가?

A1)

User space : application 을 실행시키기 위해 할당되는 시스템 메모리.

Kernel space : kernel 이 실행되고 서비스를 제공하는 곳. kernel과 운영체제를 위해 할당되는 메모리.

Q2) 왜 user, kernel space를 분리시켜 놓은 것인가?

A2) kernel space에서 user space를 분리하면 OS에게 할당된 메모리를 쓸 수 있는 잘못된 프로세스로 부터 시스템을 보호한다. 결과적으로 memory leaks 와 프로그램 충돌이 OS에 영향을 미치지 않게 되는 보다 안정적인 시스템이 된다.

답변들 출처 - user space, application, kernel space, kernel


\(\text{CPU Clock Cycles}=\text{Instruction count(IC)}*\text{Cycles per instruction(CPI)}\)



MIPS(Million Instructions Per Second)

컴퓨터의 연산 속도를 나타내는 단위의 하나로써 1초에 몇백만개의 instruction을 실행키는지 나타낸다.

이제는 잘 안쓰는 단위이다.


\(\text{CPU Time}=\text{Instruction count}*\text{CPI}*\text{Clock Cycles Time}\) 결론적으로 CPU 실행 시간은 위와 같이 표현할 수 있다.