분류 전체보기96 [RISC-V] 컴퓨터구조 - Addressing Mode & Instruction Format 사전 참고 1. [RISC-V] 컴퓨터구조 - Instructions 개요 https://microelectronics.tistory.com/38 2. [RISC-V] 컴퓨터구조 - Instruction to Machine Code https://microelectronics.tistory.com/39 3. [RISC-V] 컴퓨터구조 - Procedure call 과 스택포인터 https://microelectronics.tistory.com/402.9 Communicating with PeopleASCII 코드를 통해 1바이트 숫자로 문자를 표현할 수 있게 되었다. 따라서 당연히 바이트를 추출하는 명령어도 존재해야 한다.당연하게 byte load 시 오른쪽 기준으로 load 된다. 2.10 RISC-V.. 2024. 3. 12. [RISC-V] 컴퓨터구조 - Procedure call과 스택포인터 사전 참고 1. [RISC-V] 컴퓨터구조 - Instructions 개요 https://microelectronics.tistory.com/38 2. [RISC-V] 컴퓨터구조 - Instruction to Machine Code https://microelectronics.tistory.com/39 2.8 Supporting Procedure in Computer Hardware procedure (절차)/ 함수 를 실행하기 위해서 프로그램은 반드시 아래 6가지 단계를 밟아야 한다. procedure 가 접근할 수 있는 곳에 파라미터(매개변수)를 둔다 procedure 을 제어,전달한다. procedure 에 필요한 storage resource 를 획득한다. 해당하는 task 를 수행한다. proc.. 2024. 3. 11. [RISC-V] 컴퓨터구조 - Instruction to Machine Code 사전 참고 1. [RISC-V] 컴퓨터구조 - Instructions 개요 https://microelectronics.tistory.com/38 2.5 Representing Instructions in the Computer 이전 게시글에서 살펴본 명령어가 하드웨어적으로 인식이 되기위해서는 정해진 규칙에 맞게 이진수로 변환이 되어야 한다. 아래는 설명에 들어가기전 어셈블리어를 머신코드로 변환한 간단한 예시이다. 이 미리 정해놓은 규격, 레이아웃을 instruction format 이라고 한다. instruction format 에 맞게 명령어를 이진수로 변환시키면 그것이 바로 machine code 가 되는 것이다. RISC-V Fields R-type Instructions - Instruction.. 2024. 3. 11. [RISC-V] 컴퓨터구조 - Instructions 개요 2.1 Introduction 컴퓨터에 명령을 하기위해서, 'instruction (명령어)' 라고 불리는 컴퓨터 언어를 사용해야 한다. 해당 명령어들의 집합을 instruction set 이라고 한다. Instruction Set Architecture (ISA) 란 instruction set 이 해당 하드웨어에 적용될 수 있도록 구조와 인터페이스를 설계한 것을 의미한다. 또한 하드웨어의 레지스터 구조, 명령어의 실행방식등도 정의한다. 따라서 컴파일러나 어셈블러가 이 ISA 를 토대로 설계되어 사람이 작성한 고수준언어(C, C++)가 하드웨어에 효율적으로 매핑될 수 있도록 한다. 정리하면, 컴파일러는 사람이 작성한 C나 C++ 같은 코드를 어셈블리어로 변환하는데, 이 어셈블리어가 아래의 표와 같은 I.. 2024. 3. 9. NUCELO 보드 네이밍 정보 (NUCELO-F401RE) 뉴클레오보드로 freeRTOS 를 연구해보기 위해 NUCLEO-F401RE 보드를 구매했다. 2-3만원 대로 구매를 하였고, 본 게시글 작성을 통해 해당 보드와 관련된 라인업과 간단한 네이밍 정보에 대해 알아보고자 한다. MCU의 디테일한 정보(메모리맵, 아키텍처 등)는 다른 게시글에서 다룬다. NUCELO 시리즈 NUCELO 보드의 경우 ST 사에서 직접 개발하여 판매하는 개발 보드이다. I/O 핀 개수에 따라 Nucleo 32 64 144 로 3가지로 구분된다. 제품 포트폴리오 문서를 보면 유연한 프로토타이핑, 제한없는 확장성을 모토로 하고 있다. nucleo-64 보드의 경우 아두이노 우노 v3 와 결합가능하도록 핀헤더가 제공된다. (32의 경우 아두이노 나노와 결합 가능) 세 플랫폼 모두, 보드 .. 2024. 1. 2. 멀티 OS 설치 - Windows11, Ubuntu 22.04) Disk Partition 멀티 OS 를 사용하기 위해서는, GRUB 이라는 별도의 로더를 사용해야 한다. 해당 로더는 어디에 위치할까? 이를 알기 위해서는 디스크의 파티션 방식에 대해 간략히 알아야 한다. 디스크 관리 유틸리티를 열어준다. 내가 사용하고 있는 windows11 기준으로 디스크 관리(disk management)를 실행하기 위해서는, 영어로 검색하던지 한글로 '하드디스크 파티션 만들기 및 포맷' 이라고 검색하면 된다. 최근 대부분의 x86 시스템이 사용하는 펌웨어(부트로더)는 BIOS 가 아닌 UEFI 이고, UEFI를 사용하기 위해서는 디스크 포맷 시 GPT 파티션 방식이 적용되어야 하므로 EFI 파티션이(EFI 시스템 파티션, ESP 라고도 한다) 자동으로 생성된다. 유저입장에서 보이.. 2023. 11. 19. 2023.11.18 - 개발용 미니 PC 구입 이전 부터 보드 개발을 위해 리눅스가 설치된 pc 가 있으면 좋겠다고 생각을 했습니다. 경험상 serial 통신도 윈도우의 putty 나 tera term 보다 리눅스의 minicom 이 몇배나 편하고.. sd 카드 플래시와 같은 기본적인 작업을 하는데에 있어, linux의 기본 유틸리티가 워낙 강력하기 때문에 도저히 윈도우에서 적응하기가 힘들었기 때문입니다 그렇다고 메인 컴퓨터에 멀티 OS 를 깔자니 내키지가 않았는데,, 우연히 요즘 미니 PC 제품들이 꽤 가성비 좋게 나온다는 걸 알게되어 몇몇 제품을 알아본 결과, 아래의 인텔 N100 프로세서가 장착된 제품을 선택하게 되었습니다. N100 프로세서 - 램 16GB - SSD 512GB 제품으로 선택하였고, 이것저것 쿠폰 먹여서 15만원 안되게 산것 .. 2023. 11. 18. 메모리구조 초안 : 2023.05.19 프로세스는 생성되면 사용자 영역에 코드 영역, 데이터 영역, 힙 영역, 스택 영역으로 나뉘어 저장된다. (물론 지난 게시글에서 언급했듯, 커널영역에는 PCB 가 생성된다.) 아래 그림의 메모리 address 는 각각의 영역의 위치를 표현하기 위해 가정한 것이니 참고만 하기 바란다. code 영역 (code segment) code 영역은 text 영역이라고 부르기도 한다. 기계어로 이루어진 '명령어'가 저장된다. 즉, 코드 영역에는 '데이터'가 아닌 CPU 가 실행할 '명령어'가 저장되어 있기 때문에 '쓰기'가 금지되어 있다. (read-only space) data 영역 (data segment) 데이터 영역은 프로그램이 실행되는 동안 유지할 데이터가 저장되는 공간이다. 예.. 2023. 5. 19. PCB & Context Switching 초안 : 2023.05.10 보조기억장치에 데이터 형대로 저장되어 있는 프로그램은 실행되어 메인 메모리에 적재되는 순간 '프로세스'가 된다. 프로세스는 사용자가 보는 곳에서 실행되는 것도 있고 보이지 않는 곳에서 실행되는 것도 있는데 전자를 포그라운드 프로세스 후자를 백그라운드 프로세스 라고 한다. 백그라운드 프로세스 중에서도 사용자와 전혀 상호작용하지 않고 맡은 일만 수행하는 프로세스가 있는데 이를 UNIX 운영체제 에서는 '데몬(daemon)' 이라고 하고 윈도우 운영체제 에서는 '서비스(Service)'라고 한다. 수많은 프로세스들이 동시에 실행되지만, CPU 자원은 한정되어 있다. 따라서 프로세스들은 차례대로 돌아가면서 정해진 시간동안 CPU를 사용하고, 시간이 끝나면(타이머 인터럽트가 발생하면).. 2023. 5. 10. 이전 1 ··· 6 7 8 9 10 11 다음