본문 바로가기

컴퓨터공학 공부/컴퓨터 구조론

(6)
Register ✏Leaf Procedure ✔또 다른 프로시저를 호출하지 않는 프로시저이다. ✔다시 사용되지 않는 레지스터의 경우 메모리에 저장해둘 필요가 없기 때문에 저장하지 않는다. ✏Register Usage ✔Temporary registers: 함수 호출 후 쓰이지 않는 레지스터 (x5~x7, x28~x31). Callee가 저장한다. ✔Saved registers: 저장되는 레지스터 (x8~x9, x18~x27) ✔Example: ✏Non-Leaf Procedures ✔불린 함수가 다른 함수를 부르는 프로시저이다. ✔Caller가 저장해야 할 3가지 - return address: 돌아갈 주소. 반드시 저장해야 한다. - temporaries, arguments: 함수를 호출한 후 필요할 경우 저장한다. ✏..
RISC-V의 명령어 ✏AND x9, x10, x11 x10 0011 x11 1111 x9 0011 ✏OR x9, x10, x11 x10 00001101 x11 00111100 x9 00111101 ✏XOR x9, x10, x11 //OR값의 반대값 출력 x10 1101 11 x11 1111 11 x9 0010 00 ✏Shift ✔비트 전체를 미는 것이다. 기존 비트는 사라지고, 빈 공간에는 0을 채워넣는다. ✔Shift left: 증가, Shift right: 감소 ✔SLL (Shift Left Logical): 기존 값에 2를 곱한 값이 나온다. ✔SRL (Shift Right Logical): 기존 값에 2를 나눈 값이 나온다. ✏SRA (Shift Right Arithmetic) ✔음수에서는 SRL이 제대로 수행되지 ..
숫자 나타내는 법, RISC-V 명령어 기계코드로 변환하기 ✏Unsigned Binary Integers (부호 없는 이진수 정수값) ✔양수만 나타낼 수 있다. ✔범위: 0 ~ (2^n - 1)이다. ✏2의 보수 정수값 ✔범위: -2^(n-1) ~ (2^(n-1) - 1) ✔음수는 1, 양수는 0으로 나타낼 수 있다. ✏부정 ✔여집합 + 1 ✏덧셈, 뺄셈 ✔빼는 숫자의 음수를 구해서 더하면 된다. ✏Sign Extension (부호 확장) ✔짧은 길이의 숫자를 긴 길이의 숫자로 변환하는 것 ex) 8비트를 16비트로 변환 +2: 0000 0010 => 0000 0000 0000 0010 -2: 1111 1110 => 1111 1111 1111 1110 첫번째 수를 보고 판단해서 확장한다. Signed number을 무조건 0으로 확장하면 안된다. ex) 4b =..
성능 비교와 성능 향상의 한계 ✏SPEC CPU Benchmark ✔SPEC (Standard Performance Evaluation Corporation): 컴퓨터의 성능을 비교하기 위해 만들어진 프로그램이다. ✔기하평균을 구해서 컴퓨터의 평균치를 구한다. ✏성능 비교 사이트 ✔TOP 500: 슈퍼컴퓨터의 성능을 측정해서 순위를 매기는 사이트 ✔GREEN 500: 성능과 전력소비량으로 순위를 매기는 사이트 ✔HPCG 500: Sparse 연산으로 순위를 매기는 사이트 - 슈퍼컴퓨터가 대체적으로 sparse 연산을 잘 못한다. ✏암달의 법칙 ✔컴퓨터 프로그램은 프로세서를 아무리 병렬화시켜도 병렬처리가 불가능한 파트가 있기 때문에, 더이상 성능이 향상되지 않는 한계가 존재한다는 법칙이다.
컴퓨터 성능 ✏실행시간과 처리율 ✔실행시간: 일처리에 시간이 얼마나 걸리는지 ✔처리율: 기준 시간 당 일을 얼마나 끝냈는지 ✏상대적 성능 ✔성능은 시행시간의 역수이다. 따라서 성능이 높을수록 시행시간이 적다. ✏CPU 클럭 속도 ✔ 순차 회로는 일정 속도의 클럭에 따라 동작하는데, 한 클럭에 걸리는 시간을 클럭 주기라고 한다. ✔0에서 1으로 올라갈 때, 동기화되어서 출력이 된다. 클럭 주기 (Clock Period)시간 안에 안정화가 되어야 한다.✔Period가 끝날 때 인풋 업데이트가 된다. ✏CPU Time ✔성능을 높이려면 CPU 시간을 줄여야 한다. ✔CPU 시간을 줄이려면 클락 사이클을 줄이거나 클락 사이클 시간을 줄여야 한다. ✏Instruction Count and CPI ✔CPI (Cycle Per ..
컴퓨터의 종류와 구성 부품 배운내용 정리 ✏컴퓨터의 종류 ✔Personal Computers (PC): 개인용 컴퓨터. 우리가 흔히 사용하는 컴퓨터로, 다양한 목적으로 사용된다. ✔Server Computers: 서버 컴퓨터. 개인용 컴퓨터와 구성품, 네트워크가 다르다. 컴퓨터끼리 연결되어있고, 용량이 크다. ✔Supercomputers: 슈퍼컴퓨터. 연산이 감소된 서버컴퓨터로, 의외로 할 수 있는 일이 적다. ✔Embedded computers: 네비게이션처럼 어떤 시스템의 한 부분으로 들어가있는 컴퓨터이다. 부품으로 건전지를 가지고 있는 경우가 많기 때문에, 파워가 중요하다. ✏프로그램 내부에 있는 것 ✔Application software (응용 소프트웨어): 하이레벨 언어로 적혀짐 ✔System software (시스템 소..