가젯 (Gadget)
·
ComputerArchitecture
memory(cache)
·
ComputerArchitecture
메모리 계층에 사용되는 대표 기술은 다음과 같다.종류사용 위치특징 접근 시간가격($/GB)SRAMCache빠름, 비쌈0.5~2.5ns500~1000DRAMMain Memory보통, 중간가격50~70ns10~20Flash MemorySSD/USB비휘발성, 느림5,000~50,000ns0.75~1Magnetic DiskHDD매우 느림, 매우 큼5M~20M ns0.05~0.1 지역성의 원리 (Principal of Locality)1. Temporal Locality 최근 접근한 데이터는 곧 다시 접근될 가능성이 높다는 의미로 루프 내 명령어 등에서 쓰인다. Loop: LDUR X0, [X1, 0] ADD X0, X0, X10 STUR X0, [X1, 0] SUBI X1, X1, ..
processor - single cycle(pipelining)
·
ComputerArchitecture
Single Cycle 개념Single-Cycle 설계란 모든 명령이 한 번의 클록 안에 실행되는것을 의미다. 구조가 단순하지만 비효율적인데 대표적인 문제점은 다음과 같다. 클록 주기가 가장 느린 명령(load) 에 맞춰야 함→ 모든 명령이 느려짐메모리 분리 필요 : 명령어 메모리와 데이터 메모리를 따로 둬야 함여러 ALU/Adder 필요 : 주소 계산, PC 증가, 연산을 동시에 해야 하므로성능 저하 : 실제 평균 실행시간보다 24% 느림 (예: gcc 기준) , 부동소수점 연산이 있으면 더 악화됨 CPU의 성능은 위와 같이 계산할 수 있는데 Single-cycle에서는 CPI가 1로 동일하며 결국 CCT가 길수록 느려진다. 이를 해결하기 위해서 파이프라인이라는 기술을 사용한다. Pipeliningp..
processor - cpu (datapath)2
·
ComputerArchitecture
ALU controlALU의 여러 역할 중 기본이 되는 3가지 역할은 다음과 같다. LDUR/STUR: 메모리 주소 계산 → ALU = addR-type: opcode(11bit)에 따라 AND, OR, ADD, SUB 수행CBZ: 입력 그대로 통과(pass input b) LEGv8에서 ALU 제어는 ALUOp(2bit) + Instruction[31:21](11bit opcode)를 함께 사용한다.→ 이유: ALUOp는 상위 제어장치(Main Control Unit)가 명령의 종류(load/store/R-type 등)를 구분하기 위해 생성하고,11-bit opcode는 세부 연산(add/sub/and/or)을 구분하기 위해 사용됨.ALUOp와 Instruction을 보고 4bit의 ALU contr..
processor- cpu(datapath)
·
ComputerArchitecture
Datapath의 정의와 구성 요소Datapath는 CPU 안에서 데이터를 실제로 처리하고 주소를 계산하는 모든 하드웨어 요소를 말한다.구성 요소는 다음과 같다 👇Registers (레지스터): 연산에 필요한 값을 저장ALU (산술논리연산기): 계산 수행Multiplexer (MUX): 여러 입력 중 하나 선택Memory: 명령어나 데이터를 읽고 쓰는 장치즉, Datapath는 “데이터가 흘러가는 물리적 경로 + 연산 장치들의 집합”이다.CPU = Datapath + Control Unit 중 “Datapath”에 해당. Single-Cycle Implementation한 번의 클록 사이클에서 하나의 명령어를 완전히 실행하는 구조각 명령어(예: ADD, LDUR, STUR)는같은 클록 주기 내에서 Fe..
processor - CPU
·
ComputerArchitecture
CPU의 큰 그림CPU = Datapath + Control Path구성 요소주요 역할 포함 회로설명Datapath실제 데이터 연산 및 저장 수행Combinational + Sequential 둘 다ALU, MUX, Register, Memory 등으로 구성되어 명령어 실행의 흐름(데이터 이동)을 담당Control Path (Control Unit)Datapath의 각 구성요소에 제어 신호 전달Combinational + Sequential 모두 포함 (상태머신)명령어 종류(opcode)에 따라 어떤 동작을 할지 제어신호(RegWrite, MemRead 등) 생성✅ 핵심 요약:Datapath는 데이터의 통로, Control path는 데이터의 신호등위 그림은 단일 사이클(single-cycle) LEGv..
ALU - float arithmetic
·
ComputerArchitecture
Floating Point (부동소수점) 기본 정수가 아닌 매우 작거나 큰 수 표현용 형식.과학적 표기법 과 유사 (예: –2.34 × 10⁵⁶).이진 정규화 표기: ±1.xxxxxx₂ × 2ʸʸʸʸ항상 1로 시작하는 정규화된 형태 (normalized).C 언어의 float (32비트) / double (64비트)이 이 형식 사용.🔸 10진에서는 정규화 수가 1~9로 시작하지만,2진에서는 0과 1뿐이므로 항상 fraction 앞에 1이 온다.IEEE Floating-Point StandardIEEE 754 (1985) : 전기전자기술자협회(IEEE) 정의.과거 서로 다른 표현 방식 → 호환성 문제 → 통일된 표준 필요.현재 모든 과학/공학 계산에 사실상 전 세계적 표준.두 형식 제공:Single Pr..
ALU - Multiplication, Division
·
ComputerArchitecture
Multiplication ALU에서 곱셈은 덧셈을 반복하는 식으로 이루어진다.곱해지는 수를 multiplicand, 곱하는 수를 multiplier , 결과를 product라고 정의한다. product의 길이는 곱하는 operand의 길이 즉, multiplicand(m bit)와 multiplier(n bit)의 합 (m+n)bit이다. 위 그림에서 LEGv8 ISA는 레지스터 크기가 64bit이기 때문에 ALU 또한 기본 단위가 64bit이므로 Multiplier도 64bit로 표현되어있고 Multiplicand는 Multiplier 비트만큼 shift연산을 하기 때문에 128bit로 크기가 정해져있고 product 또한 128bit이다. 연산 순서는 먼저 multiplier의 LSB를 파악해서 ..
-->
loading