728x90 반응형 Computer37 [컴퓨터구조] Processor(1): 데이터패스와 RISC-V의 구현 RISC-V의 구현하기 위한 핵심 부분을 살펴보자.메모리 참조 명령어: lw, sw산술/논리 명령어: add, sub, and, or조건부 분기 명령어: beq이들을 살펴봄으로서 데이터패스와 제어 유닛을 설계하는 데 사용되는 핵심 원리를 이해할 수 있다. 나머지 명령어에 대한 구현 또한 거의 비슷하다. An Overview of the Implementation모든 명령어의 첫 두 단계는 다음과 같다.PC(program counter)를 프로그램이 저장되어 있는 메모리에 보내고, 메모리로부터 명령어를 가져온다.명령어의 필드에서 데이터를 불러올 레지스터를 읽는다.이 두 단계 이후의 행동들은 명령어 종류에 따라 다르다. 하지만 위에서 언급한 세 명령어 종류(메모리 참조 명령어, 산술/논리 명령어, 조건부 분.. 2024. 5. 29. [컴퓨터구조] 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. [Verilog] Procedures Always blocksfor synthesizing hardware, two types of always blocks are relevant:Combinational: always @(*) Clocked: always @(posedge clk)Combinational always block은 assign statements와 같다. procedural block 안의 문법은 바깥과 꽤 다르다. if-then, case 등을 사용할 수 있다. Blocking vs. Non-Blocking AssignmentContinuous assignments (assign x = y;). Can only be used when not inside a procedure ("always block").Procedural.. 2024. 5. 20. [데이터통신] LAN Bridge(1): Bridges 여러개의 LAN을 상호 연결해 확장한다. 이 때 bridge 혹은 router가 사용된다. router은 LAN과 WAN을 상호 연결할 수 있기에 더 일반적으로 사용되지만, 여기서는 bridge에 대해 살펴보도록 하겠다. bridge는 두 장치 사이에서 LANs을 연결하는 데에 가장 단순한 구조이다. bridge는 physical, link layers에서 동일한 프로토콜을 사용하는 LAN 사이에서 사용하기 위해 설계되었다. LAN의 범위를 무한히 늘리는 것 대신 bridge를 사용해 범위를 확장시키는 것에는 몇 가지 이유가 있다.Reliability:Performance:Security:Geography:1. Functions of Bridge서로 다른 두 LAN A, LAN B가 있다고 가정하자. B.. 2024. 5. 7. [데이터통신] LAN Protocol Architecture(2): LLC(Logical Link Control), MAC(Medium Access Control) 저번 글에서는 IEEE 802 Reference model를 설명하며 LLC과 MAC에 대해 간단히 소개했다.[데이터통신] LAN Protocol Architecture(1): IEEE 802 Reference Model [데이터통신] LAN Protocol Architecture(1): IEEE 802 Reference Model이번 글에서는 IEEE 802 Reference model에 대해 설명해보려 한다. LAN은 Local area networks의 줄임말로 한정된 지역 내에서 컴퓨터나 다른 네트워크 장치들이 연결되어 있는 네트워크를 가리킨다. LAN을 통turtle2.tistory.com 이번 글에서는 LLC와 MAC에 대해 더 자세히 살펴보도록 하자. 1. LLC (Logical Link .. 2024. 5. 3. [데이터통신] LAN Protocol Architecture(1): IEEE 802 Reference Model 이번 글에서는 IEEE 802 Reference model에 대해 설명해보려 한다. LAN은 Local area networks의 줄임말로 한정된 지역 내에서 컴퓨터나 다른 네트워크 장치들이 연결되어 있는 네트워크를 가리킨다. LAN을 통해 컴퓨터는 파일 공유, 프린터 공유, 인터넷 접속 공유 등의 기능을 함께 사용할 수 있다. LAN의 표준은 IEEE 802 LAN standards committee에 의해 개발되었다. LAN protocols를 OSI architecture와 비교하면 하위 계층의 작동 원리와 동등하다. IEEE 802 reference model은 총 3개의 계층으로 분류된다. 가장 하위 계층부터 살펴보자. 1. Physical layer IEEE 802 reference mode.. 2024. 5. 3. 이전 1 2 3 4 다음 728x90 반응형