본문 바로가기

전체보기96

SIC/XE (SIC/eXtra Equipment) 이전 글에서는 컴퓨터의 기본 구조와 이를 쉽게 이해하기 위한 SIC 모델에 대해 알아봤다. 이번에는 SIC의 확장된 모델이며 상위 호환을 보장하는 SIC/XE에 대해서 알아보도록 하자. 상위 호환이기 때문에 이전 내용을 숙지해야 이해하는데 수월할 것 같다. Memory 기본적인 개념의 SIC와 동일하다. 하지만 SIC와 달리 SIC/XE에서는 사용가능한 최대 memory 크기는 1MB(2^20 bytes)이다. Registers SIC에 있는 5개의 register에서 4개의 register가 추가되었다. 하나씩 알아보자. B(3, Base register): addressing에 사용된다. (24 bits) S(4), T(5): 특별한 용도가 없는 general working register이므로 자유.. 2021. 9. 12.
SIC (Simplified Instructional Computer) 학교의 '시스템 프로그래밍'과목을 복습하며 정리하는 글이다. 그러므로 이 글은 아주대학교 오상은 교수님의 '시스템 프로그래밍' 수업을 바탕으로 한다. 소프트웨어는 응용 소프트웨어와 시스템 소프트웨어로 나눌 수 있는데 여기서는 후자에 대해 다룬다. System SW and Its Machine Dependency 시스템SW의 디자인은 그것이 동작하는 컴퓨터 architecture의 영향을 많이 받는다. 예를 들어 어셈블러는 mnemonic 명령을 기계어로 번역하고 OS는 컴퓨팅 시스템의 자원을 직접 관리한다. 하지만 시스템의 특정 구현은 계속해서 변경됨에도 그 본질인 기본 개념은 변하지 않는다. 대부분의 컴퓨터에 있는 어셈블러의 일반적인 디자인과 로직은 동일한 것 처럼, 시스템SW 디자인의 기본구조는 대부.. 2021. 9. 9.
Introduction: 알고리즘에 대해 이번 학기에 알고리즘 과목을 수강하게 되었다. 취업할 때 코테같은걸 하려면 알고리즘을 알아야 한다고 하는데 '아직 2학년인데 이걸 들어도 되나?' 라는 생각을 지금도 가지고 있다. 하지만 전필이기도 하고 아직 뭘 들어야할지 몰라서 수강을 하게 되었다. 수업 소개를 들어보니 코테처럼 문제를 풀기위해 알고리즘을 배운다기 보다는 알고리즘 자체에 중점을 둔 것 같았다. 수업내용을 나름대로 정리해서 올리기로 마음먹었으니 한 번 시작해보도록 하자. (원어 강의이기도 하고 나도 영어표현에 익숙해져야 한다고 생각해서 영어를 자주 섞을 생각이다.) 이 카테코리의 게시글들은 아주대학교 Sinshaw Yenewondim Biadgie 교수님의 '알고리즘' 수업을 바탕으로 한다 웬만한 수업의 첫시간은 수업 주제에 대한 소개이.. 2021. 9. 6.
vi editor 초급 이번에 알아볼건 vi editor이다. 텍스트 에디터의 한 종류인데 우리가 흔히 쓰는 메모장도 텍스트 에디터의 한 종류이다. vi editor는 리눅스를 비롯한 unix 계열 os에서 많이 사용되는 텍스트 에디터이다. 처음 든 생각은 '그러면 메모장이랑 비슷한거 아닌가? 이거를 따로 학습할 필요가 있나?'였다. 그런데 사용법도 차이가 있고 기능도 굉장히 많아 학습 난이도가 꽤 있는편이라고 한다. 그래서 이번에는 vi editor를 처음 다룰때 알아야할 기본적인 내용에 대해 학습해보았다. 사용할 vi editor는 vim이다. 'vi improved'의 줄임말이다. 윈도우에서 편하게 실습하기 위해 https://www.vim.org/ 에서 windows용 vim을 다운로드 받았다. vim 모드의 이해 우선.. 2021. 9. 3.