강의/컴퓨터구조

    Computer Architecture - Memory

    Computer Architecture - Memory

    목차단어정리다이렉트 메모리 매핑Associative Caches정리본 단어 정리Frequency(빈도수) : 메모리 동작 속도로 봐도 될 것 같고, 시간에 반비례합니다. 2GHz라면 Time = 1/Frequency = 1/2nsecPrimary Memory = Main memory : 메인 메모리를 뜻합니다.○ DRAM(Dynamic Random Access Memory) : 임의 주소에 접근할 수 있는 기억장치인데, 각각의 축전기가 담고 있는 전자의 수에 따라 비트를 1과 0으로 나타내지만 방전될 경우 정보를 잃게 되기에 주기적으로 충전 명령(refresh)을 보내줘야 해서 동적이라는 이름이 붙었다고 합니다. 휘발성(volatile) 메모리○ SRAM(Static RAM) : SRAM은 플립플롭 방식..

    Computer Architecture - Pipeline

    Computer Architecture - Pipeline

    목차 배경 파이프라인과 레지스터 관계 파이프라인 예시 파이프라인 파이프라인 배경(pipeline) 일반적으로 파이프라인은 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태의 구조를 말합니다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있습니다. 여기서 파이프라인도 프로세서에서 성능을 높이기 위해서 명령어 처리를 여러 단계로 나누어 단계별로 동시에 수행하여 병렬화 시키는 것을 말합니다. 프로세스 고속화, 처리량 상승효과를 얻습니다. ARM 파이프라인 초기 ARM7TDMI까지의 ARM 코어는 3단계 파이프라인을 가졌습니다. 이후 나올 모든 여러 단계의 파이프라인도 이 3단계 파이프라인 단계를 더 나눈 형태를 보입니다. ARM9TDMI..

    Computer Architecture - Processor Mode

    Computer Architecture - Processor Mode

    목차 PSR 프로세서 모드 예외 처리 PSR(Program Status Registers) PSR은 말 그대로 현재 프로그램이 가지고 있을 상태/옵션을 저장하는 레지스터입니다. 현재 상태인 CPSR(Current PSR)과 5개의 SPSR(Saved PSR)이 있으며, SPSR은 프로세서 모드에 각각 1개씩 총 5개의 모드에 5개의 SPSR이 있습니다. 이 PSR들은 특수한 명령어들로만 조작 가능합니다. PSR은 32비트의 공간을 쪼개서 상태/옵션에 대한 정보를 담습니다. ○Condition code flags : ALU의 연산 결과에 flag 정보. N(마이너스), Z(0), C(Carry. 올림/내림,Shift연산 넘어갈 때), V(oVerflow 발생인 경우) ○ Sticky Overflow fla..

    Computer Architecture - Registers and Instruction Set

    Computer Architecture - Registers and Instruction Set

    목차ARM 데이터 크기, 명령어 셋ARM Register Set명령어 셋VFP, NEON Data sizes and Instruction SetsARM은 RISC 아키텍쳐입니다. 그래서 대부분의 명령어는 싱글 사이클에 실행됩니다. ARM은 32bit load/store 아키텍쳐입니다. 대부분의 내부 레지스터는 32비트 폭을 가지고 있고, 허용되는 메모리 엑세스는 loads / sotres 2가지 경우입니다.ARM에서 사용하는 경우 다음 3가지 크기로 데이터가 쓰입니다.Halfwrod = 16 bits (2 bytes)Word = 32 bits (4 bytes)Double Word = 64 bits (8 bytes)대부분 ARM 코어는 2가지 명령어 셋을 포함합니다.1. 32-bits 크기에 Arm Ins..

    Computer Architecture - Overview

    Computer Architecture - Overview

    Computer Architecture1. 소프트웨어 계층 : 크게 3가지로 하드웨어, 시스템 소프트웨어, 애플리케이션 소프트웨어로 구분합니다.OS : 메모리와 저장장치 할당, 입/출력 동작 처리, 애플리케이션 병렬 처리, ...etc컴파일러 : 고수준(High-level) 언어를 바이너리로 된 머신 코드로 변환2. 고수준 언어 → 머신 코드○ 고수준 언어 : C와 같은 언어로 표준화된 규격이 있습니다.○ 어셈블리어 :  머신코드와 1:1 대응되는 저수준 언어입니다. tool 제조사, 아키텍쳐별로 구문(Syntax)이 다릅니다.○ 머신코드 : 기계어로 CPU가 직접 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어입니다.과정 : Compiling, Assembling, Linking, Building(빌드하..