Category(12)
-
[컴퓨터구조] Hardware/Software Interface
책과 PPT에 Hardware/Software Interface 라고 부록? 처럼 되어있는 부분이 있다. 그 중 알아 두어야 할것 같은Bytes Addressing, Aligment restriction, Ediannes 에 대해 적어보려 한다. MIPS에선 32개의 register를 가지고 연산을 한다 각 register는 32bit로 구성되어 있다. 각 register = 32bit = 1data 단위 를 word라 한다. Memory에 저장된 data를 register에 가져와야 한다 이때 어떤 단위로 접근하여 data를 가져오는지에 따라 addressing 이 달라진다. 위 같은 Memory 주소에서 data를 가져올때 파란색 주소처럼, word 단위로 가져오는걸 word addressing이라 ..
2021.07.05 -
[컴퓨터구조] Instruction: Langauge of Computer(1)
컴퓨터 하드웨어에게 일을 시키려면 하드웨어가 알아들을 수 있는 언어로 말을 해야한다. 우리가 코드를 작성하여 프로그램을 실행 시키는 것도 컴퓨터에게 프로그래밍 언어로 말을 하고, 그 대답을 화면으로 보는것 과 같다. 일반적인 프로그래밍 언어 C,Java 와 같은 고급 언어는 Compiler를 통해 기계어나 Assembly 언어로 바뀌게 되어 하드웨어 위에서 동작하게 된다. 참고로 기계어는 CPU 제조사 마다 모두다른 구조를 가지고 있다. 자세한 설명은 다음에 하기로 하자. Assembly 언어는 기계어와 1대1 대응 되는 언어 이다. 따라서 제한된 종류의 CPU만 이해할 수 있다. 이번 포스팅에선 MIPS라는 Assembly 언어를 이용하여 컴퓨터 구조에 대해 공부해 보려 한다. 앞으로 나오는 Instr..
2021.07.05 -
[컴퓨터구조] Introduction(1)
우선 컴퓨터 구조란? 어떤것인지 위키백과에 나온 정의부터 보며 포스팅을 시작하려 한다. 컴퓨터 구조(computer architecture)는 컴퓨터공학 에서 컴퓨터 시스템의 기능(functionality), 조직(organization), 구현(implementation)에 대한 법칙과 방법을 통칭한다. 또 다른 정의로는 컴퓨터 구조는 명령어 집합 구조(Instruction set architecture, ISA), 마이크로아키텍처(Microarchitecture) 설계, 논리 설계 및 구현을 의미한다. 여기서 ISA란 Instruction set architecture 실행 가능한 명령으로 된 구조. 란 뜻으로 Hard ware 와 lowest - level software(Machine langua..
2021.07.01 -
[논문 리뷰] An efficient scheduling scheme using estimated execution time for hetoerogeneous computing systems(1)
Published online: 19 Jaunary 2013 @ Springer Science+Businiess Media New York 2013 논문 링크 : https://link.springer.com/article/10.1007/s11227-013-0870-6 너무 오랜만에 글을 쓰는것 같다. 우선, 이번 3학년 1기를 마친 시점 이고 꽤 잘 보냈던것 같다. 이번 학기에 리눅스 시스템 프로그래밍 과목을 재미있게 들으면서, 가장 재미있게 했던 과제가 있다. 링크 : https://github.com/Ju-nic2/LinuxSystemPrograming/tree/branch1 이걸 직접 해보며 수행 시간 단축, 컴퓨터 시스템에도 관심이 가고 좀더 알아보고 싶었다. 혼자 찾긴 어려워 논문 하나를 추천..
2021.06.30 -
[백준] 1931 회의실 배정
문제 www.acmicpc.net/problem/1931 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어..
2021.03.06 -
[C++] 다형성,virtual 함수
다형성이란? 네이버 지식 백과에서는 다형성(polymorphism)이라는 단어는 원래 '여러 개의 형태를 갖는다'라는 의미의 그리스어에서 유래했다. 또 사전에서 찾아보면 poly(하나 이상), morph(형태)가 합성된 단어로 '하나 이상의 형태'를 뜻한다. [네이버 지식백과] 다형성 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 김치수) 이렇게 나와있다. 음.. 하지만 이런게 프로그램을 만들때 왜 필요할까?? 간단히 동물들의 울음 소리를 출력하는 프로그램을 만든다 가정해보자, 우선 각 동물들의 class를 만들고 특성에 맞는 울음소리를 출력해주는 함수 speak() 를 가진다. class Cat { private: string name; public: Cat(const string& nam..
2021.03.03