728x90 반응형 Computer/컴퓨터구조15 [컴퓨터구조] Arithmetic for Computers(1): 덧셈과 뺄셈 컴퓨터는 손으로 계산할 때처럼, 오른쪽에서 왼쪽으로 한 비트 씩 더하고, 이때 생기는 올림수(carry)는 바로 왼쪽 자리로 보내 더한다. 컴퓨터에서의 뺄셈은 덧셈을 이용한다. 뺄 값의 부호를 바꾸어 더한다. 2의 보수법을 이용한다.연산 결과를 하드웨어에서 표현할 수 없을 때 오버플로가 발생한다. RISC-V 구조의 경우 32비트 워드로 표현할 수 없는 경우 (덧셈 결과 올림수 발생해 33비트가 될 경우) 오버플로가 발생한다. 어떤 경우에 오버플로가 발생할 수 있을까? 부호가 다른 피연산자를 더할 경우에는 오버플로가 발생하지 않는다. 계산 결과의 절대값이 두 피연산자 중 어느 하나보다 커질 수 없기 때문이다. 하지만 피연산자의 부호가 같을 경우 오버플로가 발생할 수 있다. 실제 오버플로가 발생했을 때 어.. 2024. 5. 29. [컴퓨터구조] Instructions, RISC-V(5): 프로시저(Procedure) 프로시저는 재사용이 가능하도록 프로그램을 구조화하는 방법 중 하나이다. 프로시저의 인수(parameter)는 프로시저에 값을 보내고 결과를 받아오는 일을 한다. 프로시저는 소프트웨어에서 추상화를 구현하는 방법이다. 프로그램이 프로시저를 실행하는 단계에 대해 살펴보자. 프로시저가 접근할 수 있는 곳에 인수를 넣는다.프로시저로 제어를 넘긴다.프로시저가 필요로 하는 메모리 자원을 얻는다.필요한 작업을 수행한다.호출한 프로그램이 접근할 수 있는 장소에 결과값을 넣는다.원래의 위치로 제어를 돌려준다.RISC-V 소프트웨어는 프로시저를 호출할 때 다음의 레지스터 할당 관례를 따른다.x10-x17: 전달할 인수와 결과값을 가지고 있는 인수 레지스터x1: 호출한 곳으로 되돌아가기 위한 복귀 주소를 가지고 있는 레지스터.. 2024. 5. 29. [컴퓨터구조] Instructions, RISC-V(4): 논리 연산 명령어, 조건부 분기 1. 논리 연산 명령어 (Logical Operations)워드 내 비트에 대한 연산을 수행한다.Logical operationsC operatorsRISC-V instructionsshift leftsll, sllishift right>>srl, srlishift right arithmetic>>sra, sraibit-by-bit AND&and, andibit-by-bit OR|or, oribit-by-bit XOR^xor, xoribit-by-bit NOT~xori 2. 조건부 분기 (Conditional Branch)조건부 분기는 값을 검사하고 검사 결과에 따라 프로그램 내의 새로운 주소로 제어를 넘기는 명령어이다. RISC-V 어셈블리 언어는 go to가 있는 if문과 비슷한 2개의 판단 명령어를.. 2024. 5. 29. [컴퓨터구조] Instructions, RISC-V(3): 명령어의 컴퓨터 내부 표현 명령어도 컴퓨터 내부에서는 높고 낮은 전기 신호의 연속으로 저장되므로 숫자로 표현할 수 있다. RISC-V의 명령어의 길이는 워드 길이인 32비트이다. 모든 RISC-V 명령어는 예외 없이 32비트이다. 명령어를 숫자로 나타내어 보자.add x9, x20, x2100000001010110100000010010110011 이렇게 명령어를 이진수의 필드로 구성하는 표현 형식을 명령어 형식(instruction format)이라고 하고, 이렇게 명령어를 숫자로 표현하는 것을 기계어(machine language)라고 한다. 이런 명령어들의 sequence를 machine code라고 한다. instruction format에 대해 더 알아보자. 1. RISC-V 명령어의 필드RISC-V 명령어의 각 필드에는.. 2024. 5. 29. [컴퓨터구조] Instructions, RISC-V(1): 산술, 적재, 저장 명령어 컴퓨터 언어에서 단어를 명령어(instruction)이라 하고, 그 어휘를 instruction set이라 한다. 앞으로의 글에서 사용할 명령어 집합은 RISC-V이다. RISC-V는 UC Berkeley에서 개발되었다. RISC-V는 RISC-V International이라는 기구에서 관리하는 개방형 구조를 갖는다. 즉, 특정 회사의 소유물이 아니다. 1. 하드웨어 연산기본적으로 모든 컴퓨터는 산술 연산이 가능해야 한다.RISC-V 산술 명령어는 반드시 한 종류의 연산만 지시하고, 항상 변수 3개를 갖는다. 한 예시를 살펴보자.add a, b, c add 연산자는 두 변수 b와 c를 더해 그 합을 a에 넣으라고 컴퓨터에 지시한다. 2. 피연산자 (operand)high-level language와는 다.. 2024. 5. 29. 이전 1 2 다음 728x90 반응형