본문 바로가기
반응형

일단 제가 준비한 건,261

컴퓨터 구조 Cross compile (크로스 컴파일) Cross Compile 먼저, 컴파일이란 상위 언어를 어셈블 언어로 바뀌 주는 역할이다. 이런 역할에 Cross가 붙었으니 자연스레 컴파일을 다르게 한다라고 생각이 든다. 예를 들면 x86가 내장된 노트북으로 C언어를 컴파일하면 x86의 instruction과 Machine code를 컴파일한다. 그렇다면 만약 내장된 컴파일은 x86인데 RISC-V로 컴파일하고 싶다면 어떻게 해야 할까?? 그게 바로 Cross compile이다. 왜 쓰냐라고 하면, 다른 여러 환경에서도 내가 작성한 코드가 잘 동작해야 하기 때문입니다. 다시 말해, 내 노트북이 x86고 다른 사람 노트북은 RISC-V라면 내 노트북에서 동작하던 것이 다른 사람의 노트북에선 동작하지 않을 것이다. 이런 문제를 해결하기 위해 필요한 것이다. 2022. 2. 3.
컴퓨터 구조 Introduction( 추상화, ISA, API, OS, BIOS) Abstraction in Computer (관념, 추상적 개념) 유튜브에도 정리해 놨습니다! https://youtu.be/ZM7KnqGCrsI 컴퓨터의 큰 개념은 크게 4개지로 볼 수 있다. 하향식 관점에서 보자면 아래와 같다. Programming using APIs : 상위 레벨 언어나 우리가 실행하는 프로그램들을 말한다. Operating Systems : 윈도우, 리눅스와 같은 운영 체제를 말한다. Instruction Set Architecture (ISA) : 01011과 같은 기계어나 어셈블 언어를 뜻한다. Hardware Implemetation (x86) : 가장 아랫단에 있는 구성 요소이다. 다시 말해 칩을 구성하는 요소들을 말한다 이때 한 단계를 더 추가하자면, BIOS ( Bas.. 2022. 1. 30.
컴퓨터 구조 개발의 아이디어 7가지 (추상화, 빠르게, 병렬성, 파이프라이닝, 예측, 계층구조, 신용도) 컴퓨터 구조 분야의 발전에 이바지한 7가지 개념을 소개하고자 한다. 1. 설계를 단순화하는 추상화 2. 자주 생기는 일을 빠르게 3. 병렬성을 이용한 성능 개선 4. 파이프라이닝을 통한 성능 개선 5. 예측을 통한 성능 개선 6. 메모리 계층구조 7. 여유분을 이용한 신용도 개선 하나하나 알아보자 설계를 단순화하는 추상화 수요가 많아짐에 따라 생산성을 높이기 위해 개발에 착수했다. 이때 하드웨어와 소프트웨어의 생산성을 높이는 방법 중 하나는 전체 설계를 명시적으로 추상화 ( Abstraction) 하는 것이다. 정말 중요한 개념인데, 간단히 말하자면 요리의 레시피를 보여주는 것이다. 이때 우린 재료들을 어떻게 기르는지 알 필요가 없다. 그저, 재료가 존재한다는 것만 알고 재료가 무슨 맛을 낸다는 것만 알.. 2022. 1. 27.
논리회로 PLA, PAL ( Programmable Logic Array, Programmable Array Logic, 프로그래밍 방식, 현장 프로그래밍) 프로그래머블 기억소자 자유로운 프로그래밍이 가능한 어레이 형태의 기억장치이다. Programmable Logic Array (PLA)는 AND 평면과 OR 평면을 각각 프로그래밍하여 곱항의 합을 구현한다. 읽기 전용 메모리 ROM은 비트 단위로 프로그래밍이 가능하며 OR평면으로 활용하여 논리회로를 구성한다 프로그래밍 방식 스위치 제조 방법에 따라 마스크 프로그램 방식, 현장 프로그램 방식이 있다. 현장 프로그래밍은 반도체 금속층 마스크를 사용하는 대신 퓨즈를 사용한다. PLD 내 각 프로그래밍 접점은 퓨즈로 되어 있다. 반퓨즈 (anti-fuse) - 프로그래밍되기 전에는 저항이 커서 개방회로로 동작한다. 정상적인 전원 전압보다 조금 더 높은 전압을 두 도선 사이에 가하면, 두 도선을 전기적으로 분리시키.. 2022. 1. 20.
논리회로 레지스터 ( 정의, 종류, register, 레지스터 길이, 신호 경로 및 전달 방식 ) 레지스터 (register) 레지스터란 워드 단위의 데이터를 저장하거나 처리하기 위해 다수의 플립플롭을 연결하여 소수의 게이트로 제어하는 소규모 단위의 기억 장치로 데이터나 명령을 일시적으로 저장하거나 이동시키는 역할을 수행하며 추가적으로 직렬 혹은 병렬로 입. 출력 동작을 수행한다. 데이터 산술 연산, 논리 연산, 데이터 전송을 수행할 때, 데이터나 명렬을 일시적으로 기억할 소규모 기억장치로 컴퓨터의 주기억장치인 DRAM보다 빠르다는 장점이 있다. 레지스터의 종류 주요 범용 레지스터 누산기(accumulator), 연산 레지스터(arithmetic register) 명령 레지스터(instruction register) 시프트 레지스터(shift register) 지표 레지스터(index register.. 2022. 1. 20.