반응형 전체보기96 Assemblers (1) SIC/XE에 관해 이전까지 알아보았다. 알아봤듯이 컴퓨터는 기계어(0과 1로만 구성된) 명령을 들으면 그것을 수행한다. 하지만 우리는 c나 python같은 언어로 코드를 작성하여 프로그램을 만든다. 그러므로 당연히 이러한 코드를 기계어로 변환하는 과정이 필요한 것이다. 그러한 역할을 하는 프로그램 중 이번에는 Assember(어셈블러)에 대해 알아볼 것이다. Translating and Starting a Program 컴퓨터가 처음 나왔을 때는 프로그래머들은 기계어로 컴퓨터를 제어했다(처음에는 그 이외의 방법은 존재하지 않았으니깐). 하지만 위에서 설명했듯이 기계어는 기계가 이해하기에는 매우 좋지만 사람이 이해하기는 너무나도 어렵다. 때문에 지금은 프로그램을 프로그래밍 언어로 작성하고 이것을 기계어로.. 2021. 9. 28. Algorithm Efficiency(알고리즘 효율성) 저번 포스팅에서 알고리즘을 평가할 때 'Efficiency'라는 항목이 있었다. 이번에는 이것에 대해 자세히 알아볼 것이다. Basic concepts Algorithm Efficiency Efficiency는 두가지로 나눌 수 있다. Time Efficiency(Time complexity): 얼마나 빠르게 알고리즘이 동작하는가? Space Efficiency(Space complexity): 알고리즘이 동작하는데 필요로하는 메모리 단위의 양 우리는 알고리즘의 시간/공간 효율성을 파악하기 위해 general analytical framework를 따를 것이다. 그 전에 몇가지 질문에 대한 답을 확인해보자. How to express the efficiency of an algorithm? 우선, 알고리.. 2021. 9. 18. 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. 이전 1 ··· 19 20 21 22 23 24 다음 반응형