[컴퓨터 구조] 컴퓨터 구조

2020. 6. 10. 20:40컴퓨터 구조

응용프로그램들은 복잡한 코드들로 구성되어있다.

but

하드웨어단순한 것만 실행할 수 있다.

그러므로 이러한 응용프로그램들을 실행하기 위해서는

번역 or 해독하는 작업이 필요하다.(추상화)


기계는 단순하게 on(1), off(0) 로만 이루어져 있다.이것을 이진수 or bit 라고 부른다.

 

이러한 on, off의 명령들로 이루어진 것을 우리는 명령어라고 한다.

 

명령어는 bit들의 집합으로 이것을 사람이 읽고, 명령을 내리기에는 힘들다.

 

그래서 이것들을 기호로 나타내기 시작했다.

 

고급 언어(c, c++, java)
A = A + B

컴파일러
고급언어를 어셈블리어로 컴파일

어셈블리언어
ADD A, B

어셈블러
기호를 이진수로 번역

기계어
1000110010100000

컴퓨터의 구성요소


I/O 장치(Input/Output Device)

입력 장치(Input Device)
컴퓨터에 정보를 공급
출력 장치(Output Device)
연산 결과를 보여줌

메모리(Memory)

데이터를 기억하는 장치

 

주기억장치(Main Memory)
컴퓨터의 프로그램을 실행시키기 위한 data, 명령어 등을 저장해 놓은 메모리
일반적으로 메모리를 말할 때는 이것을 말한다.
보조기억장치
컴퓨터에서의 실질적인 저장 장치를 의미한다.
컴퓨터에서  자료를 일시적, 영구적으로 보관할 수 있는 장치이다.
휘발성 메모리
전원이 사라지면 데이터가 날아간다.
ex) RAM
비 휘발성 메모리
전원이 사라져도 데이터가 날아가지 않는다.
ex) ROM

CPU(Central Processing Unit)

컴퓨터 시스템을 제어하고, 프로그램의 연산을 수행하는 컴퓨터의 가장 핵심적인 장치

프로세서(Processor)라고도 한다.

 

레지스터(register)
CPU 내부에 위치한 고속 메모리이다.
캐시 메모리(Cache Memory)
CPU와 메인 메모리의 속도 차이를 메꿔주기 위해 존재하는 메모리
CPU는 메인 메모리에 접근하기 전에 캐시 메모리에 들러 데이터가 존재하는지 확인 후
존재한다면 캐시 메모리에서 존재하지 않는다면 메인 메모리에 접근한다.
제어 유닛(Control Unit)
I/O 장치, 메모리  등 모든 컴퓨터 자원들의 동작을 결정
ALU(산술논리연산장치)
덧셈, 뺄셈 등 산술 연산과, and, or 등 논리 연산을 수행하는 디지털 회로
데이터패스(Datapath)
cpu내부에서 데이터를 전송하는 bus

컴퓨터 성능


컴퓨터의 성능은 실행시간과 반비례 관계이다.

 

즉, 동시에 시작했을 때 먼저 끝난다면 성능이 좋은 것이다.

 

 

응답 시간(response time) = 실행시간(execution time)
작업 개시 ~ 종료까지의 시간
처리량(throughput)

일정 시간 동안 처리하는 작업의 양 

 

X의 성능이 Y보다 좋다는 것



X의 실행시간이 Y의 실행시간보다 작다는 것을 의미한다.
X가 Y보다 n배 빠르다

CPU 시간(CPU time)
특정 작업을 위해 CPU가 소비한 시간
클럭 사이클(clock cycle)
한 주기 동안의 시간
CPU 시간

= 클럭 사이클 수 X 클럭 사이클 시간

CPI(clock cycles per instruction)
명령어 하나 실행하는데 필요한 평균 클럭 사이클 수 
CPU 시간

= 명령어 개수 x CPI x 클럭 사이클 시간