컴퓨터구조 5

[컴퓨터 구조] chapter3 정리(컴퓨터 연산 : 부동소수점)

오늘은 부동 소수점에 대해서 알아보겠습니다. 부동소수점(=떠돌이 소수점 방식)은 실수를 컴퓨터 상에서 근사하여 표현할 때 소수점의 위치를 고정하지 않고, 그 위치를 나타내는 수를 따로 적는 것으로, 유효숫자를 나타내는 가수와 소수점의 위치를 풀이하는 지수를 나누어 표현합니다. (컴퓨터에서 소수점 이하의 값을 가지는 실수를 표현하는 방법) https://ko.wikipedia.org/wiki/%EB%B6%80%EB%8F%99%EC%86%8C%EC%88%98%EC%A0%90 부동소수점 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 초기의 전기기계식 프로그래밍 가능한 컴퓨터 Z3에는 부동소수점 산술 기능이 포함되었다. (뮌헨의 국립 독일 박물관) 부동소수점(浮動小數點, floating ..

CS 2023.05.28

[컴퓨터 구조] chapter3 정리 (컴퓨터 연산 : 덧셈, 뺄셈, 곱셈, 나눗셈)

컴퓨터 연산에서 배울 내용들은 정수 연산(사칙연산, 오버플로우), 부동소수점, 컴퓨터가 수를 표현하는 방법 및 산수 연산 알고리즘, 알고리즘을 수행하기 위해 하드웨어를 어떻게 설계해야 하는지에 대한 것입니다. 정수 덧셈 및 뺄셈 ex) 7 + 6 다음과 같이 올림수가 발생하면 오른쪽에서 왼쪽으로 옮겨줍니다. ex) 7 - 6 = 7 + (-6) MSB에서 Carry나 Borrow한 값을 무시해 주면 값이 1이 나옴을 확인할 수 있게 됩니다. 역부호화(부호화 + 1)한 후 덧셈을 하는 과정이라고 보면 될 것 같습니다. 오버플로(Overflow) 오버플로는 데이터를 저장하는데 사용되는 메모리 영역에 더 많은 데이터가 들어가려고 할 때 발생하는 상황을 말합니다. 주로 산술 연산이나 메모리 할당과정에서 발생하고..

CS 2023.05.22

[컴퓨터 구조] chapter2-3 정리 (동기화, 컴파일러, 어셈블러, 링커, 로더)

저번 포스팅에서는 MIPS 명령어에 따라 달라지는 주소 지정 방식을 설명하였습니다. 이번에는 동기화와 C언어의 번역계층에 대해 상세하게 다루어보고, 프로그램 번역과 실행 과정에서 중요한 역할을 하는 컴파일러, 어셈블러, 링커, 로더의 역할에 대해 설명드리려고 합니다. 동기화란 무엇인가? 태스크(작업)가 서로 독립적인 경우에는 병렬 처리가 쉽지만, 서로 협력해야 하는 경우가 있습니다. 협력은 일반적으로 다른 태스크들이 읽어야 하는 값을 어떠한 다른 태스크가 읽고 있음을 의미합니다. 태스크가 언제까지 쓰기를 마쳐야 다른 태스크들이 안전하게 데이터를 읽을 수 있는지 알려면 태스크 동기화가 필요합니다. "동기화"가 존재하지 않으면, 데이터 경쟁관계(data race)의 위험이 있습니다. 여기에서 데이터 경쟁관계..

CS 2023.05.04

[컴퓨터 구조] chapter2-1 정리(컴퓨터 언어 : 명령어)

2장은 양도 많고, 기록할 것도 많아서 2번에 걸쳐서 포스팅하려고 합니다. 2장에서 다뤄볼 부분은 명령어입니다. chapter2 2.1 서론 2.2 하드웨어 연산 2.3 피연산자 2.4 부호 있는 수와 부호 없는 수 2.5 명령어의 컴퓨터 내부 표현 2.6 논리 연산 명령어 2.7 판단을 위한 명령어 컴퓨터 하드웨에게 일을 시키려면 하드웨어가 알아들을 수 있는 언어로 말을 해야 합니다. 컴퓨터 언어에서 단어를 명령어(instruction)이라고 하고, 그 어휘를 명령어 집합(instruction set)이라고 합니다. 오늘 배워볼 명령어 집합은 MIPS입니다. - MIPS(Microprocessor without Interlocked PipeLine Stages)란 MIPS Technologies 기반의..

CS 2023.04.11

[컴퓨터 구조] 컴퓨터 시스템의 구성

컴퓨터의 기본 구성은 하드웨어, 소프트웨어 두 가지로 구성됩니다. 하드웨어 : 컴퓨터에서 각종 정보를 입력하여 처리하고 저장하는 동작이 실제로 일어나게 해주는 실체이며 시스템이 동작하는 데 있어서 필요한 물리적 구성 요소 소프트웨어 : 컴퓨터에게 동작 방법을 지시하는 명령어 집합의 모임, 프로그램(컴퓨터를 사용해 어떤 일을 처리하기 위해 순차적으로 구성된 명령들의 집합) 다음과 같이 하드웨어는 중앙 처리 장치(CPU), 주기억 장치, 보조 기억 장치, 입력 장치, 출력 장치로 구성됩니다. 또한 이들은 컴퓨터의 기능 수행을 위해 시스템 버스를 통해 서로 연결되어 있습니다. 여기에서 말하는 버스는 컴퓨터 부품들 간, 혹은 컴퓨터 간 데이터와 정보를 전송하는 통로입니다. 앞서 설명드린 하드웨어의 구성 요소들의..

CS 2023.04.07