4 - 서브루틴과 함수 (+ 컴파일러)
·
컴퓨터 과학/프로그래밍 기초
초기에는 명령코드와 메모리의 위치를 가져와서 레지스터에 넣으면서 기계어 코딩을 했을 것이다. 하지만 작업을 하면서 이미 작성한 기능을 다른 프로그램에 가져가서 써야하는 일이 있었을 것이고동일한 내용의 코드를 작성해야 하는 일이 있었을 것이다.(전쟁 비용 예시에서 더하는 것을 2번 했던 것처럼) 하지만 그런 경우 기능을 옮기려고하는 프로그램의 RAM 위치를 계산해서 코드를 전부 새롭게 짜야했고, 같은 프로그램에서 동일한 내용의 코드를 복사하려고 하더라도 단순 복사가 아니라 RAM 의 위치를 모두 계산해서 코드를 새롭게 작성해야했다. 이는 매우 귀찮고 어려운일이었을 것이다 이 문제를 해결하기 위해서 한 가지 아이디어를 가져올 수 있다 아무런 영향을 받을 것 같지 않게 '멀리 떨어진' 위치에서 동일하게 쓰일 ..
3- 초기 프로그래밍의 변수
·
컴퓨터 과학/프로그래밍 기초
컴퓨터는 이진법을 사용하기 때문에 특정 전압을 넘긴 상태 (1), 특정 전압 아래인 상태 (0) 의 값 밖에 존재하지 않는다. 즉, 1과 0 밖에 사용하지 못하는 컴퓨터를 통해서 사람이 사용하는 정수, 실수, 문자 등을 다루려면 이 형식들을 특정 규칙을 정해서 이진수로 변환해야하고, 결과값으로 나오는 이진수 역시 형식들에 맞게 해석해야하는 것이다.  예를들어 0011 같은 이진수가 있다면 이를 십진수로 변환해서 3이라고 할 수있고, 규칙을 따로 정해서 0.11 이나 a 라고 '해석' 할 수 있다는 것이다 그래서 초기의 기계어 코딩에서 지금의 고급 프로그래밍 언어같은 변수의 개념은 없었겠지만, 아마 아래와 같은 메모로 저장공간의 값들을 관리했을 것이다저장공간 0번부터 3번까지 4개의 bit 에 정수 3을 ..
2- 컴퓨터의 구조와 핵심
·
컴퓨터 과학/프로그래밍 기초
컴퓨터의 핵심 부품 - CU, ALU, 레지스터앞선 글들에서 컴퓨터는 전기를 통해서 '계산' 이 목적인 기계이며, 목적을 위해서 저장, 연산, 제어라는 요소가 필요하다는 것을 알았고, 각각에 맞게 플립플롭, ALU, CU 라는 것이 등장했다는 것을 알았다. 이 중에서 플립플롭은 1bit 의 정보만 저장할 수 있기 때문에 다룰 수 있는 값이 적으니까, 이걸 연결해서 8bit(1byte) 의 값을 저장할 수 있도록 만들어보자. 이렇게 플립플롭을 여러 개 묶어놓은 것을 '레지스터' 라고 한다 CU 와 ALU 와 레지스터를 전선으로 연결한 다음 전기를 통해 레지스터들에 값을 넣어주면 계산이 가능할 것이다.즉, 이론상 CU, ALU, 레지스터를 가지고 '계산'이라는 목적을 이룰 수 있는 것이다. CU, ALU, ..
1-컴퓨터의 계산(저장, 연산 그리고 제어)
·
컴퓨터 과학/프로그래밍 기초
2024.11.10 - [컴퓨터 과학/프로그래밍 기초] - 0-컴퓨터란? 위키 백과의 설명을 보" data-og-host="coding-journal-by-log.tistory.com" data-og-source-url="https://coding-journal-by-log.tistory.com/entry/0-%EC%BB%B4%ED%93%A8%ED%84%B0%EB%9E%80" data-og-url="https://coding-journal-by-log.tistory.com/entry/0-%EC%BB%B4%ED%93%A8%ED%84%B0%EB%9E%80" data-og-image="https://blog.kakaocdn.net/dna/rp8oc/hyXKwzxOXg/AAAAAAAAAAAAAAAAAAAAACS_kfiijwJHiIXAlAvtsfTOHtWCHUEKRP8YKQKLtjaQ/..?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=Mj4fo1%2Bdd6yRjhMyO7BX7M4fFo4%3D
0-컴퓨터란?
·
컴퓨터 과학/프로그래밍 기초
컴퓨터란 무엇일까?A computer is a machine that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation).출처: https://en.wikipedia.org/wiki/Computer -> 위키 백과의 설명을 보면 컴퓨터는 기계인데, 자동으로 일련의 산수나 논리계산을 하도록 프로그래밍될 수 있는 기계라고한다 컴퓨터의 목적이 계산이라는건 알겠는데 왜 굳이 컴퓨터라는 기계를 만들 필요가 있었을까?→ 계산을 빠르고 정확하게 하기 위해서였을 것이다.  그렇다면 왜 계산을 빠르고 정확하게 해야했을까?→ 세금 징수, 돈 문제, 군사 목적 등의 경우 계산의 범위도 크고..