컴퓨터구조(9)
-
MIPS 어셈블리어
어셈블리어는 C언어 같은 고급언어에서 컴파일 되어서 binary code로 가기전 언어이다. 어셈블리어의 형식은 add t0, t1, t2 // a = b+c sub t0, t1, t2 // a = b-c 로 표현한다. 해당 형식은 명령어마다 차이를 보이는 것도 있다. MIPS ISA에서는 자주 쓰이는 data들을 레지스터에 넣어두면서 이용한다. 왜냐하면 속도 차이 때문인데 cpu에서 컴퓨터 하드 메모리로 접근하는데에는 매우 큰 속도 차이가 난다. 그러므로 속도 향상을 위해서 cpu 가까이에 있는 것이 유리하다는 것이다. 이 레지스터도 수가 너무 많아도 비용에 문제가 생기므로 MIPS 에서는 32bit 메모리를 32개를 이용한다 이것들을 register라고 한다. 즉 MIPS에서는 32bit data 즉..
2023.01.02 -
컴퓨터의 Execution Time 측정방법
Elapsed time 한 작업을 끝내는데 필요한 전체 시간을 이야기합니다. 실제 확인하고 싶을 때는 C언어에서 time.h 라이브러리에 있는 clock() 함수를 이용합니다. clock_t start, end; double result; start = clock(); /// 매우 많은 코드 end = clock(); result = (double)(end - start); CPU time 주어진 한 가지 일에 대하여 processing 하는데에 걸리는 시간 cpu time은 클럭 사이클에 영향을 많이 받는데 클럭 사이클은 보통 hz 단위로 측정한다. hz는 1초에 생기는 on/off 횟수를 의미하는 것이다. ex ) 1 Ghz는 1초에 10억번의 on/off가 일어난다는 소리이다. 1,000,000,0..
2023.01.02 -
컴퓨터 성능에 대한 이해
컴퓨터 성능을 결정 짓는 요인들 우리의 프로그램 아래에서는 application software, system software, hardware로 구분할 수 있다. application software는 우리가 잘 아는 C, JAVA 같은 high level 언어로 만들어진 프로그램들이고 System software는 컴파일러, 운영체제(OS) 이고 Hardware는 프로세서, 메모리, I/O 컨트롤러 등이 있다. 컴퓨터에 우리가 명령을 내리게 될 때는 다음 과정을 거치게 된다 high-level-languae -> Assembly language -> binary code 프로그램은 모두 binary code로 저장되어 있고 그 위의 단계언어들은 모두 인간이 쉽게 이해하기 위해 작성된 것이다. 컴퓨터의..
2022.12.26