본문 바로가기
반응형

시스템 반도체48

컴퓨터 구조 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.